Столкновение с ошибкой ответа об ошибке залпа Android - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть встроенная библиотека Android Volley для вызовов службы отдыха узла js.Если я получаю ответ успешно, он возвращает код состояния 200 и объект JSON ответа, который работает.Но если я получаю какую-либо ошибку, связанную с 400 (401,409 и т. Д.) И 500 (500,504 и т. Д.), Она не показывает ответ об ошибке, поступающей из службы, а вместо этого показывает Volley.error (служба отправляет {status:false,message:"enter password"} этот объект ошибки, но я не могу прочитатьэто сообщение).Как прочитать ответ об ошибке, поступающей из узла js service, используя volley lib.

1 Ответ

0 голосов
/ 08 февраля 2019

В методе onErrorResponse () напишите следующий код:

NetworkResponse networkResponse = error.networkResponse;
                  if (networkResponse != null && networkResponse.data != null) {
                  try {
                       String jsonError = new String(networkResponse.data);
                       Log.d(TAG, "jsonError: " + jsonError);
                       JSONObject errorObject = new JSONObject(jsonError);
                       // Here you can do whatever you want with JSONError. 
                       Snackbar snackbar = Snackbar.make(mActivitySingleSellerBinding.relativeLayoutRoot, errorObject.getString("message"), Snackbar.LENGTH_LONG);
                       snackbar.show();
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                 }

Этот errorObject.getString("message"); выдаст вам строку ошибки.

...