spring 项目中的controller是不是不能直接接受对象类型的List为入参?为什么?找了很多相关文档,都说不行,要不就传一个vo类,vo类里面有list,要不就传字符串,后台解析字符串
spring boot 项目:
public class Tag {
int id;
String name;
此处省略了get,set
}
@RestController
public class HelloController {
@RequestMapping(value = "add", consumes = "application/json; charset=utf-8")
public String add(@RequestBody List<Tag> param) {
System.out.println("param:" + param);
return "成功";
}
}
commit(){
$.ajax({
type:"post",
url: 'add',
contentType:"application/json; charset=utf-8",
dataType:"json",
data:{
param:JSON.stringify([{id:1,name:'hello'},{id:2,name:'hello'}])
},
success:function(data){
console.log(data);
}
})
}
后台报错信息:
2018-01-29 13:52:57.856 WARN 3148 --- [nio-8088-exec-3] .w.s.m.s.DefaultHandlerExceptionResolver : Failed to read HTTP message: org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unrecognized token 'param': was expecting ('true', 'false' or 'null'); nested exception is com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'param': was expecting ('true', 'false' or 'null')
data:JSON.stringify([{id:1,name:'hello'},{id:2,name:'hello'}])