2016-08-12 2 views
1

J'utilise okHTTP dans Android pour faire une demande PUT. J'ai ajouté les en-têtes et j'ai ajouté la requête .put. Mais d'une manière ou d'une autre, la demande ne passe pas. J'ai utilisé les entrées du journal pour le tracer. Le code va comme:PUT échouer sur OKHTTP

Chaîne url = "http://xxxxxxxxxx.com/v1.0/xxxxxx/" + xxxxxxx;

JSONObject jSon = new JSONObject(); 
       try { 
        jSon.put("prescription_interval_id", prescriptionIntervalId); 
       } catch (JSONException e) { 
        e.printStackTrace(); 
       } 
       try { 
        jSon.put("prescription_auto_refill", false); 
       } catch (JSONException e) { 
        e.printStackTrace(); 
       } 

       String data = jSon.toString(); 

       MediaType JSON = MediaType.parse("application/json; charset=utf-8"); 
       RequestBody body = RequestBody.create(JSON, data); 


       Request request = new Request.Builder() 
         .url(url) 
         .addHeader("Authorization", token) 
         .addHeader("Content-Type", "application/json") 
         .put(body) 
         .build(); 

       // 

       client.newCall(request).enqueue(new Callback() { 
        @Override 
        public void onFailure(Request request, IOException e) { 

         Log.d("FAIL","CALL FAILED"); 
         Log.d("Request",request.toString()); 

        } 

        @Override 
        public void onResponse(Response response) throws IOException { 

         Log.d("Response",response.toString()); 
         Log.d("SUCCESS","CALL SUCCEEDED"); 
        } 
       }); 

La demande n'a pas été faite. Je ne sais pas pourquoi.

+0

Avez-vous essayé d'appeler 'client.newCall (request) .execute()' plutôt que 'enqueue()' pour voir si la connexion est faite correctement? –

+0

Il serait probablement également utile de vérifier le code de réponse pour voir ce qui échoue avec la demande. – NoChinDeluxe

+0

protocole = http/1.1, code = 400, message = Mauvaise demande – Ackman

Répondre

0

Oh! Accidentellement je mettais un espace entre les points d'extrémité d'url! fonctionne bien maintenant :)