Как исправить нулевой ответ с помощью JsonArrayRequest с использованием метода Get?

#android #android-volley

#Android #android-volley

Вопрос:

Я получаю нулевой ответ, когда я вызываю метод Get, используя a JsonArrayRequest .

Я попробовал оба OnResponse и parseNetworkResponse переопределил методы в запросе, но все равно ответ равен нулю.

 String  url = "http://myUrl";
RequestQueue requestQueue = Volley.newRequestQueue(mContext);

JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Request.Method.GET, url, null , new Response.Listener<JSONArray>() {
    @Override
    public void onResponse(JSONArray response) {
        Log.i("TAG",response.toString());
    }
}, new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
        Log.i("on Error Response", error.toString());
    }
})
{
    @Override
    public Map<String, String> getHeaders() {
        HashMap<String, String> headers = new HashMap<>();
        headers.put("Content-Type", "application/json");

        return headers;
    }

    @Override
    protected Response<JSONArray> parseNetworkResponse(NetworkResponse response) {
        int statusCode = response.statusCode;
        switch (statusCode) {
            case 200:
                Log.i("TAG1", response.toString());
        }       
        return null;
    }
};
requestQueue.add(jsonArrayRequest);
  

Я ожидаю получить массив json, состоящий из трех объектов json

Я также использовал это :

 return Response.success(response, HttpHeaderParser.parseCacheHeaders(response)); 
  

по-прежнему ответ равен нулю.

Комментарии:

1. убедитесь, что ваш сервер работает нормально. Проверьте с помощью какого-нибудь инструмента, такого как Postman

2. да, я проверил серверную часть с помощью insomnia, и она работает, я получаю заголовки в своем коде такие же, как у инструмента, но не массив Json и вложенные объекты