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 ) .

  • Comment puis-je réinitialiser l'API du serveur kik à partir d'un émulateur Android?
  • Où les préférences partagées sont-elles stockées?
  • BubblePopupHelper remplissant le journal de débogage d'Android
  • Comment faire pivoter un bitmap à 90 degrés
  • Comment ajouter un badge / compte de notification à l'icône de l'application sur les périphériques Sony Xperia?
  • Erreur "n'a pas de TestCase public (String name) ou TestCase () dans le test Junit
  • 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 animer une ajout d'une vue dans Android?
  • Comment reproduire automatiquement la vidéo HTML5 mp4 sur Android?
  • Android Studio: Gradle - build échoue - L'exécution a échoué pour la tâche ': dexDebug'
  • Lecture de BG Music dans toutes les activités d'Android
  • Cette application, ou une bibliothèque qu'elle utilise, utilise NSQuickDrawView, qui a été obsolète. Les applications devraient cesser l'utilisation de QuickDraw et passer à Quartz
  • Android 4.2: comportement de back-stack avec des fragments imbriqués
  • 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.