Получение данных ответа в Volley OnErrorResponse - PullRequest
0 голосов
/ 14 июня 2019

Я бью API на сервере.Он работает отлично, но когда я запускаю его в своем приложении, я получаю залп onErrorResponse вместе с данными.Я не могу понять, как это возможно.Я делюсь кодом и изображением ошибки.Пожалуйста, проверьте.

      private void callProductsApi() {

    String tag_json_obj = "json_obj_req";
    String url = Constants.GET_PRODUCTS;


    pBar.setVisibility(View.VISIBLE);


    JSONObject params = new JSONObject();


    try {
        params.put("token", Constants.token);

    } catch (Exception e) {

        e.printStackTrace();
    }


    JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.POST,
            url, params,
            new Response.Listener<JSONObject>() {

                @Override
                public void onResponse(JSONObject response) {

                    Log.e("login_response", response.toString());


                    pBar.setVisibility(View.GONE);

                }
            }, new Response.ErrorListener() {

        @Override
        public void onErrorResponse(VolleyError error) {
            VolleyLog.e("Error: " + error.getMessage());
            Toast.makeText(Splash.this, R.string.some_error_occured, Toast.LENGTH_LONG).show();
            pBar.setVisibility(View.GONE);
        }
    });


    jsonObjReq.setRetryPolicy(new DefaultRetryPolicy(
            100000,
            DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
            DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));


    AppController.getInstance().addToRequestQueue(jsonObjReq, tag_json_obj);
}

enter image description here

1 Ответ

0 голосов
/ 20 июня 2019

API должен вернуть код успеха, который равен 200, 201 и т. Д. В ответ. если он вернется другой ответ в строке 400 или 500 будет отображать правильный JSON, но в методе ошибки.

...