今天在调试后端接口时,出现同一个接口,相同参数,一个能正常返回,一个却返回异常的问题。正常返回的接口参数如下:
{
"tableId": "tableId",
"columns": [
"id",
"name"
]
}
异常返回的参数如下:
{
"tableId": "tableId",
"columns": [
"id",
"name"
]
}
从表面上看,两者没有任何区别,但是后一个参数却会造成后端接口反序列化异常(使用fastjson序列化)。两者唯一区别是,后一个参数是在yapi的备注中复制,前一个参数是拼接而成。经过对后端接口debug之后,发现后一个参数发到后端之后,接口中的参数中,所有的空格均变成NBSP,因此导致异常。
由此,去掉之后即可。