OKhttp PUT exemple

Ma condition est d'utiliser PUT , d'envoyer un en-tête et un corps au serveur qui mettra à jour quelque chose dans la base de données.

Je viens de lire la documentation OkHttp et j'essayais d'utiliser leur exemple POST mais ça ne fonctionne pas pour mon cas d'utilisation (je pense que c'est peut-être parce que le serveur me demande d'utiliser PUT au lieu de POST ) .

  • Application échouée par exécution: processDebugResources Studio Android
  • L'énumération personnalisée est-elle également utilisée?
  • Barre d'action en navigation avec des fragments
  • Comment mettre Google Maps V2 sur un Fragment à l'aide de ViewPager
  • Appel de téléphone Android Manipulation
  • Pourquoi Fragment.addToBackStack () provoque-t-il le bouton Précédent pour ne rien faire?
  • C'est ma méthode avec POST :

      public void postRequestWithHeaderAndBody(String url, String header, String jsonBody) { MediaType JSON = MediaType.parse("application/json; charset=utf-8"); RequestBody body = RequestBody.create(JSON, jsonBody); OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url(url) .post(body) .addHeader("Authorization", header) .build(); makeCall(client, request); } 

    J'ai essayé de rechercher l'exemple OK avec l'utilisation de PUT sans succès, si je dois utiliser la méthode PUT , est-ce qu'il y a lieu d'utiliser okHttp?

    J'utilise okhttp: 2.4.0 (au cas où), merci de toute aide!

  • Comment puis-je accélérer mon application Android-OpenCV?
  • Un moyen authentique de remplacer onMeasure ()?
  • Les SharedPreferences peuvent-elles être partagées entre différentes applications Android?
  • Android: Ellipsise, sens des options
  • Android P2P (connexion directe) sur Internet (derrière NAT)
  • Renoncer à la bibliothèque de support v7. Qu'est-ce que j'ai mal?
  • 3 Solutions collect form web for “OKhttp PUT exemple”

    Changez votre .post avec .put

     public void putRequestWithHeaderAndBody(String url, String header, String jsonBody) { MediaType JSON = MediaType.parse("application/json; charset=utf-8"); RequestBody body = RequestBody.create(JSON, jsonBody); OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url(url) .put(body) //PUT .addHeader("Authorization", header) .build(); makeCall(client, request); } 

    Utilisez la méthode de put au lieu de post

     Request request = new Request.Builder() .url(url) .put(body) // here we use put .addHeader("Authorization", header) .build(); 

    OkHttp Version 2.x

    Si vous utilisez OkHttp Version 2.x, utilisez ce qui suit:

     OkHttpClient client = new OkHttpClient(); RequestBody formBody = new FormEncodingBuilder() .add("Key", "Value") .build(); Request request = new Request.Builder() .url("http://www.foo.bar/index.php") .put(formBody) // Use PUT on this line. .build(); Response response = client.newCall(request).execute(); if (!response.isSuccessful()) { throw new IOException("Unexpected response code: " + response); } System.out.println(response.body().string()); 

    OkHttp Version 3.x

    Comme OkHttp version 3 a remplacé FormEncodingBuilder par FormBody et FormBody.Builder() , pour les versions 3.x, vous devez effectuer les opérations suivantes:

     OkHttpClient client = new OkHttpClient(); RequestBody formBody = new FormBody.Builder() .add("message", "Your message") .build(); Request request = new Request.Builder() .url("http://www.foo.bar/index.php") .put(formBody) // PUT here. .build(); try { Response response = client.newCall(request).execute(); // Do something with the response. } catch (IOException e) { e.printStackTrace(); } 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.