调用post接口出现参数反序列化失败
一、背景
提供给其他产商一个post类型接口,参数类型是json
入参如:
{
"name":"test2",
"age":17,
"address":"四川成都",
"phone":"13281234456"
}
二、问题
调用时,出现 "JSON parse error: Unrecognized token 'name' was expecting ( JSON String, Number, Array, Object or token 'null' , 'true' or 'false' ) " 反序列化的失败的情况
查询日志,发现参数value值全部 '[ ]' 中括号括起来了
{
"name":["test2"],
"age":[17],
"address":["四川成都"],
"phone":["13281234456"]
}
三、原因
对比日志,发现是因为请求接口时,header中的 Content-Type 值为 “application/x-www-form-urlencoded”,导致参数是以表单的形式传递到后端
正确做法,以json形式传递
"Content-Type" : "application/json;charset=UTF-8"