这两天,迭代开发一个简单小需求,POST 请求接收前端的传参,将接收到的 JSON 格式再转换成对应的 POJO,但是在程序接收请求过程中却报了如下异常:
org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Invalid UTF-8 start byte 0xa0; nested exception is com.fasterxml.jackson.core.JsonParseException: Invalid UTF-8 start byte 0xa0 at [Source: java.io.PushbackInputStream@664c6a7d; line: 1, column: 61]
并且由于前端代码还没有上测试环境,因为是使用 Postman 进行测试,在 Postman 中也出现了 500 系统异常的报错。
在网上苦苦查询了许久,尝试了设置请求响应头 Content-Type 属性,并没有行通,仍然报错;
之后也仔细检查了是否在代码上出现了问题,检查了 @RequestBody 注释来接收 JSON 格式数据并转换成对应 POJO,字段属性也都对上无误;
最后在一些博客中发现也有可能是 JSON 数据中出现中文空格的原因,从中得到了启发。
之后检查了一下,利用 Postman 工具将光标选中相同格式的 JSON 字符串,会一起显示光标,发现雀食有个别字符并没有完全对应起来。
- 检查对应的样例
- 没有完全对应
- 修改之后
测试,Success
其实从报错的信息中也可以看出报的是 JSON 解析错误的问题,大致意思为开始是无效的中文字节。
版权声明:本文为weixin_43197640原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。