项目场景:
周末在家看了公司最近上的新需求和相关代码,项目是SpringBoot框架,接口是POST类型的。
问题描述
这个POST接口入参实体中有个String类型的属性rule,我在APIFox通过POST请求并debug这个接口的时候出现了如下的问题。
![问题展示i](https://img-blog.csdnimg.cn/e37a1599163140b383b44c05c0e1e360.png#pic_center)
原因分析:
反正意思就是rule字段中有地方主要加反斜杠转义,一开始我还不知道code9是什么意思,后面看到了一篇博客其实就是对应字符的ASCii码值,附上对应的表格:
![特殊字符ASCii码](https://img-blog.csdnimg.cn/65884f641e32458693ad017773f4687c.png)
后来才知道测试时传入的数据中包含了制表符,于是通过选中内容,可以看到中间右箭头的制表符。
![在这里插入图片描述](https://img-blog.csdnimg.cn/cb8ae9d930244454abe23f333a1cd137.png#pic_center)
解决方案:
方案一
传入的字符串内容中如果不需要制表符的话,手动删除即可。
方案二
后台手动对传过来的字符串进行转义,具体可以参考这篇博客:
json中含有换行符’\r’,'\n’的处理
参考博客:
- java Illegal unquoted character ((CTRL-CHAR, code X)): has to be escaped using backslash to be included in string
value
- json中含有换行符’\r’,'\n’的处理