加油,打工人,今天又是美好的一天

十四郎君

一日不思量,也攒眉千度

调用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"
posted @ 2023-03-27 23:35  十郎  阅读(585)  评论(0编辑  收藏  举报