Залп возвращает объект ответа со значением ноль и ключ в порядке - PullRequest
0 голосов
/ 14 декабря 2018

Я звоню на сервер, отправляя данные как объект на сервер.Ниже приведен звонок на сервер.Я проверил объект запроса на https://jsonlint.com, и он кажется действительным.Звонок возвращает код 200 и все в порядке.Но значение ответа равно нулю {"orderid":null}.Когда я нажимаю на API с почтальоном, ответ {"orderid":"example123"} Код для вызова:

public void orderfinal() {
    mRequestQueue = Volley.newRequestQueue(Cart.this);
    mStringRequest = new StringRequest(Request.Method.POST, carturl, new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            Log.d("Response", "onResponse: " + response.toString());
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Log.i("This is the error", "Error :" + error.toString());
        }
    }) {
        @Override
        public String getBodyContentType() {
            return "application/json";
        }

        @Override
        public Map<String,String> getHeaders() throws AuthFailureError{
            Map<String, String> params= new HashMap<String, String>();
            params.put("Content-Type","application/json");
            return params;
        }

        @Override
        public byte[] getBody() throws AuthFailureError {
            Gson gson = new GsonBuilder().setPrettyPrinting().serializeNulls().setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE).create();
            String json_string = gson.toJson(order_object);
            return json_string.getBytes();
        }
    };
    mRequestQueue.add(mStringRequest);

}

Вот что печатает мой logcat:

D/Response: onResponse: {"orderid":null}

РЕДАКТИРОВАТЬ: я только что спросилчтобы внести изменения в API, и если сервер возвращает только строку, такую ​​как abc, журнал печатает ее правильно.Если ответ изменяется на 123 вместо abc, журнал печатает 0 независимо от того, какая строка ответа.И обратите внимание, что объект имел значение orderid как число.Например {"orderid":"00012"} и в журнале показывалось {"orderid":null}.

...