调用post接口出现参数反序列化失败

发布时间 2023-03-27 23:40:04作者: 十郎

一、背景

提供给其他产商一个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形式传递