Volley响应400,null为消息...什么是null?

时间:2018-01-31 17:01:14

标签: android http http-headers android-volley jsonobjectrequest

我一直在努力解决这个问题3天,并且没有得到任何帮助或答案,这些帮助或答案都来自Stack上的其他帖子。

我正在尝试将变量从我的移动应用程序发布到我的服务器上,一切都在postman上运行正常,我已经仔细检查了所有内容,从postman镜像到我的android http代码。

我正在使用凌空,并且我不断收到状态代码400,并且最近在响应代码旁边收到了一条消息,但这只是说" Null"

什么是null?我看到我的代码中没有错误,看起来标题是正确的并且与邮递员相同,并且在调试时JSON对象很好并且获取变量。

我完全迷失了,非常感谢你的帮助:

我的代码:

 private void sendRequest() {
    RequestQueue queue = Volley.newRequestQueue(this);
    String url ="http://xxx.xx.xx.xxx:8080/engAppApi/webservices/engineerTable/";

    final JSONObject jsonObject = new JSONObject();
    try {
        jsonObject.put("machineType", machineType);
        jsonObject.put("workOrderNumber", workOrderNumber);
        jsonObject.put("employeeName", employee);
        jsonObject.put("activity", activity);
        jsonObject.put("durationHours", durationHours);
        jsonObject.put("durationMins", durationMins);
        jsonObject.put("downtimeHours", downTimeHours);
        jsonObject.put("downtimeMins", downTimeMins);
        jsonObject.put("details", details);
        jsonObject.put("createdTimestamp", currentDateandTime);

    } catch (JSONException e) {
        // handle exception
    }
    JsonObjectRequest putRequest = new JsonObjectRequest(Request.Method.POST, url, jsonObject,
            new Response.Listener<JSONObject>()
            {
                @Override
                public void onResponse(JSONObject response) {
                    // response
                    Log.d("Response", response.toString());
                    Toast.makeText(MainActivity.this, response.toString(), Toast.LENGTH_SHORT).show();
                }
            },
            new Response.ErrorListener()
            {
                @Override
                public void onErrorResponse(VolleyError error) {
                    // error
                    Log.d("Error.Response", error.toString());
                    Log.d("errornetwork", String.valueOf(error.networkResponse));
                    Toast.makeText(MainActivity.this, "ERROR OCCURED", Toast.LENGTH_SHORT).show();
                }
            }
    ) {

        @Override
        public Map<String, String> getHeaders()
        {
            Map<String, String> headers = new HashMap<String, String>();
            headers.put("Content-Type", "application/json;");
            headers.put("securityToken", "Good Token");
            return headers;
            //  charset=utf-8
        }

        @Override
        public byte[] getBody() {
            try {
                Log.i("json", jsonObject.toString());
                return jsonObject.toString().getBytes("UTF-8");
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
            return null;
        }

        @Override
        public String getBodyContentType() {
            return "application/json";
        }
    };


    putRequest.setRetryPolicy(new DefaultRetryPolicy( 50000, 5, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
    putRequest.setShouldCache(false);
    queue.add(putRequest);
}

0 个答案:

没有答案