I'm getting a 400 BAD REQUEST error with my POST Request when I add an array to the JSON object.
MemberDTO.java
public class MemberDTO{
private String memberId;
private String purchaseDate;
private List<ProductDTO> selectedProductModels;
...
}
ProductDTO.java
public enum ProductDTO {
PRODUCT1("Product 1", "12.00", "50%', "500.00"),
PRODUCT2("Product 2", "120.00", "80%', "100.00");
private String productName;
private String discount;
private String retailPrice;
private String price;
....
}
Controller.java
@RequestMapping(value = "member/purchase", method = RequestMethod.POST)
public String purchase(@RequestBody MemberDTO data){
...
}
JSON
var purchaseData = {
"memberId" : "12312",
"purchaseDate" : "2015/02/14",
"selectedProductModels" : [{
"productName" : "sample1",
"discount": "10%",
"retailPrice": "100.00",
"price": "400.98"
},{
"productName" : "sample2",
"discount": "20%",
"retailPrice": "1400.00",
"price": "4300.98"
}]
};
Ajax request
$.ajax({
type : "POST",
url : contextPath + "/member/purchase.do",
dataType: "json",
contentType:"application/json",
data : JSON.stringify(purchaseData),
success : function(data) {}
});
I tried removing the "selectedProductModels" array list from json and I got successful response. Am I missing anything?