错误
http请求返回400错误
详细错误
2022-09-20 20:18:04.770 23102-23145/com.example.electronicmall D/ControlsProviderService: 请求成功:Response{protocol=http/1.1, code=400, message=, url=http://192.168.0.107:8080/demo/getInfoRecordByUserId}
2022-09-20 20:18:04.771 23102-23145/com.example.electronicmall I/System.out: responseData{"timestamp":"2022-09-20T12:18:04.102+00:00","status":400,"error":"Bad Request","message":"","path":"/demo/getInfoRecordByUserId"}
2022-09-20 20:18:04.771 23102-23145/com.example.electronicmall W/System.err: org.json.JSONException: Value {"timestamp":"2022-09-20T12:18:04.102+00:00","status":400,"error":"Bad Request","message":"","path":"\/demo\/getInfoRecordByUserId"} of type org.json.JSONObject cannot be converted to JSONArray
2022-09-20 20:18:04.772 23102-23145/com.example.electronicmall W/System.err: at org.json.JSON.typeMismatch(JSON.java:112)
2022-09-20 20:18:04.772 23102-23145/com.example.electronicmall W/System.err: at org.json.JSONArray.<init>(JSONArray.java:98)
2022-09-20 20:18:04.772 23102-23145/com.example.electronicmall W/System.err: at org.json.JSONArray.<init>(JSONArray.java:110)
2022-09-20 20:18:04.772 23102-23145/com.example.electronicmall W/System.err: at com.example.electronicmall.test.User.UserRecordsActivity$1.onResponse(UserRecordsActivity.java:102)
2022-09-20 20:18:04.772 23102-23145/com.example.electronicmall W/System.err: at com.squareup.okhttp.Call$AsyncCall.execute(Call.java:168)
2022-09-20 20:18:04.772 23102-23145/com.example.electronicmall W/System.err: at com.squareup.okhttp.internal.NamedRunnable.run(NamedRunnable.java:33)
2022-09-20 20:18:04.772 23102-23145/com.example.electronicmall W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
2022-09-20 20:18:04.772 23102-23145/com.example.electronicmall W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
2022-09-20 20:18:04.772 23102-23145/com.example.electronicmall W/System.err: at java.lang.Thread.run(Thread.java:929)
解决方案
检查请求数据是否存在(是否为null)
笔者由于请求数据为null, 产生该错误
原因
400 Bad Request 是由于明显的客户端错误(例如,格式错误的请求语法,太大的大小,无效的请求消息或欺骗性路由请求),服务器不能或不会处理该请求。
对于400错误 产生原因如下
1、前端提交数据的字段名称或者是字段类型和后台的实体类不一致,导致无法封装;
2、前端提交的到后台的数据应该是 json 字符串类型,而前端没有将对象转化为字符串类型;
3、前端提交数据的字段为空 。
参考文献
原创不易
转载请标明出处
如果对你有所帮助 别忘啦点赞支持哈