Cannot deserialize value of type java.util.ArrayList<cn.wb.oa.server.salary.dto.SalarySecurityDto>
from Object value (token JsonToken.START_OBJECT
)
//报错原因大概意思是类型无法转换
//这是后端接收参数的方式
@RequestMapping(value = "/reset_batch", method = RequestMethod.POST)
public ResultResponse<Boolean> resetSalarySecurityBatch(@RequestBody List<SalarySecurityDto> salarySecurityDto) {
}
//这是后端传的参数
[
{
"schoolId": 21966,
"userId": 845072,
"securityCode": 999999,
"modifyUser": "林某"
},
{
"schoolId": 21966,
"userId": 778563,
"securityCode": 999999,
"modifyUser": "林某"
}
]
//接口没有报错
//这是前端传的参数
[
{
"schoolId": "W_SCHOOLID",
"userId": "55410",
"modifyUser": "林某",
"securityCode": "111111"
},
{
"schoolId": "W_SCHOOLID",
"userId": "767028",
"modifyUser": "林某",
"securityCode": "111111"
},
{
"schoolId": "W_SCHOOLID",
"userId": "778490",
"modifyUser": "林某",
"securityCode": "111111"
}
]
//报错显示类型无法转换
解决方法
//更改接收参数的方式
@RequestMapping(value = "/reset_batch", method = RequestMethod.POST)
public ResultResponse<Boolean> resetSalarySecurityBatch(@RequestBody SalarySecurityListDto salarySecurityList) {
List<SalarySecurityDto> salarySecurityDtolist = salarySecurityList.getSalarySecurityList();
}
SalarySecurityListDto实体类
public class SalarySecurityListDto implements Serializable {
private List<SalarySecurityDto> salarySecurityList;
}