json request:
{
"orderNo":"1001",
"orderDate":"26-05-2016",
....
"productDetails":[{"productId":"CN1008",
"productName":"shampoo",
"productType":"A"},
{"productId":"CN1009",
"productName":"cream",
"productType":"B"},
...]
}
请求处理的controller
@RequestMapping(value = "/getDetails", method = RequestMethod.POST)
public ResponseEntity<Object> getDetails(@RequestBody Map<String,Object> requestJson){
ObjectMapper objMap = new ObjectMapper();
String jsonStr = objMap .writeValueAsString(requestJson);
Order order = (Order)objMap.readValue(jsonStr,Order.Class);
....
return new ResponseEntity<Object>("Success", HttpStatus.OK);
}
Order 类
package com.model.Order;
import com.model.Product;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
@JsonIgnoreProperties(ignoreUnknown=true) //可以使request中识别不了的字段不映射到bean中
public class Order{
@JsonProperty("orderNo")
private String orderNumber;
@JsonProperty("orderDate")
private String orderDate;
@JsonProperty("productDetails")
private List<Product> products;
getters and setters
}
Product 类
package com.model.Product;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
@JsonIgnoreProperties(ignoreUnknown=true)
public class Product{
@JsonProperty("productId")
private String productID;
@JsonProperty("productName")
private String productName;
@JsonProperty("productType")
private String productType;
getters and setters
}