Verarbeiten Sie eine leere Antwort in einer JSON-Anfrage mit Volley
Ich benutzeVolley
ein ... machenPOST
Anfrage in meiner Bewerbung, und in meinem Fall ist eine gute Antwort a201
mit einem leeren Körper. Ich benutze eineJSONRequest
, um den Anruf zu tätigen.
Mein Problem ist, dass der Fehlerantwort-Handler aufgerufen wird, weil die Antwort leer ist.
Unten ist meine Anfrage:
Request request = new JsonRequest<Object>(Request.Method.POST, url, body, new Response.Listener<Object>() {
@Override
public void onResponse(Object response) {
}
}, new ErrorListener(context)) {
@Override
protected Response<Object> parseNetworkResponse(NetworkResponse response) {
Log.d(TAG, "success!!!!!!");
if (response.statusCode == 201)
mListener.resetPasswordWasSent();
return null;
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String,String> params = new HashMap<String, String>();
params.put("Content-Type","application/json");
params.put("Accept", "application/json");
return params;
}
};
requestQueue.add(request);
MeineparseNetworkResponse
Funktion wird aufgerufen, dann dieErrorListener
, und dasonResponse
Methode bekommt nie Treffer, weil ich einen bekommeNullPointerException
in demErrorListener
.
Ich kann das ignorierenNullPointerException
in meinem Fehlerlistener, aber ich würde es vorziehen, nicht zu. Selbstverständlich kann ich meinen Rückruf auch einfach im Internet absendenparseNetworkResponse
, aber ich möchte nicht, dass Fehler auftauchen.
Weiß jemand, wie ich damit umgehen soll?
Bearbeiten: Hier ist der Stacktrace:
05-06 09:44:19.586 27546-27560/com.threepoundhealth.euco E/Volley﹕ [1830] NetworkDispatcher.run: Unhandled exception java.lang.NullPointerException
java.lang.NullPointerException
at com.android.volley.NetworkDispatcher.run(NetworkDispatcher,.java:126)