博主是一个初入职场的小白,工作经验各方面比较缺乏。如果说错什么,请大家及时指出。
项目场景:
事情是这样的,项目初步功能都已全部实现。我在检查接口的时候遇到报http 400的错误。其实接口是正常使用的,用Network查看Status Code: 200 OK,但是双击接口查看时却报HTTP400,The request sent by the client was syntactically incorrect.问题描述:
提示:这里描述项目中遇到的问题:
具体看下图:
当时就立马查了The request sent by the client was syntactically incorrect.的意思,大概意思:由客户端发送的请求是语法上是不正确的。报错的这个接口是post请求,我立马去看这个接口的参数。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210109101439763.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDg0NTM5Mg==,size_16,color_FFFFFF,t_70
从参数看是个json,应该对应后端的一个对象。立刻去查看后端代码
的确对应后端的一个对象。于是我打算用postman调接口在本地测试测试一下。用postman测试,把json贴进body的时候就发现了问题。
原来前端传的根本不是json对象,格式根本不对。在网上查了一下json的格式
是一种轻量级的数据交换格式(个人 认为是一种存放数据的格式和xml一样),里面的数据都以键值对的形式存在,键都得用"“引起来,值根据数据类型决定用不用”",每个数据都得用,隔开。很明显前端的传的键没有带"",每个数据也没有用,隔开。我们再去看一下后端控制台打印的消息。
后端并没有打印错误消息 ,只是打印了警告信息。
WARN org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver - Failed to read HTTP message: org.springframework.http.converter.HttpMessageNotReadableException: Could not read document: Unexpected character (‘c’ (code 99)): was expecting double-quote to start field name
大概意思是:http信息不能阅读异常:不能阅读的环境:期待两个""开始字段名。
很明显了,问题就在这。我们把数据改成正确的格式,再次测试,问题解决。
问题到这里的确是解决了,初次发博客,有不当的地方,请前辈们指出