【发布时间】:2014-05-25 14:58:17
【问题描述】:
我的代码如下:
控制器
@RequestMapping(value="/setTest", method=RequestMethod.POST, consumes="application/json")
public @ResponseBody ModelMap setTest(@RequestBody List<TestS> refunds, ModelMap map) {
for(TestS r : refunds) {
System.out.println(r.getName());
}
// other codes
}
TestS pojo
public class TestS implements Serializable {
private String name;
private String age;
//getter setter
}
Json 请求
var z = '[{"name":"1","age":"2"},{"name":"1","age":"3"}]';
$.ajax({
url: "/setTest",
data: z,
type: "POST",
dataType:"json",
contentType:'application/json'
});
它给出了这个错误
java.lang.ClassCastException:java.util.LinkedHashMap 无法转换为 com.air.cidb.entities.TestS
我正在使用 spring 3.1.2 和 jackson 2.0.4
编辑:我想在我的控制器方法中接收 TestS 对象的列表,并处理它们。我无法找到我是否发送了错误的 json 或我的方法签名错误。
【问题讨论】:
-
您确定这是您当前的代码吗?客户端调用
/cmp/approveRefunds,你的控制器映射到/setTest。
标签: spring spring-mvc jackson