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)

Antworten auf die Frage(4)

Ihre Antwort auf die Frage