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.
Avez-vous essayé d'appeler 'client.newCall (request) .execute()' plutôt que 'enqueue()' pour voir si la connexion est faite correctement? –
Il serait probablement également utile de vérifier le code de réponse pour voir ce qui échoue avec la demande. – NoChinDeluxe
protocole = http/1.1, code = 400, message = Mauvaise demande – Ackman