我正在尝试将对象数组作为JSON字符串传递给Spring控制器。我的JSON格式数据看起来像
[{
"id": 123456,
"name": "First Item"
},
{
"id": 78910,
"name": "Second Item"
}]
所以我发送给控制器
@RequestMapping(value = "/some/url", method = RequestMethod.POST, consumes = "application/json")
public void doSomething(@RequestBody List<CustInfo> myCustInfoList) {
System.out.println("Message Received " + myCustInfoList);
}
使用此AJAX调用
$.ajax({
type: 'POST',
url: '/some/url',
contentType: 'application/json',
data: '[{"id": 123456, "name": "First Item"}, {"id": 78910, "name": "Second Item"}]',
success: function () {
consloe.log("Success");
}
});
为此我有两个豆OuterCover
和CustInfo
。其中OuterCover
包含CustInfo
和CustInfo
的列表id
和name
。
public class OuterCover {
List<CustInfo> myCustInfoList;
//getter & setter
}
但是我得到400(不良请求)。有什么建议吗?
答案 0 :(得分:0)
您需要将OuterCover类封装到其他类中,因为请求具有OuterCover元素。 E.g。
class RequestDto{
@JsonElement("outerCover")
private OuterCover outerCover;
//getters and setters
}
或者,您可以修改请求有效负载并删除'outerCover'元素,例如:
[{
"id": 123456,
"name": "First Item"
},
{
"id": 78910,
"name": "Second Item"
}]