以下代码工作正常,但在发送两个数据对象的情况下,我无法弄清楚如何处理请求。
//angular
$scope.data = //item object
$http({
method : 'POST',
url : '/items',
data : $scope.data,
headers : {
'Content-Type' : 'application/json'
}
}).success(function(data) {
//...
});
//java rest
@RequestMapping(value="/items", method=RequestMethod.POST)
public ResponseEntity<?> createIslem(@RequestBody Item item){
//....
}
我的java控制器方法签名应如何处理下面的请求?
//angular
$scope.data = //item object
$http({
method : 'POST',
url : '/items',
//data1 is of type Item and data2 is of type AnotherObject
data : {data1: $scope.data1, data2: $scope.data2}
headers : {
'Content-Type' : 'application/json'
}
}).success(function(data) {
//...
});
答案 0 :(得分:2)
好吧,你应该有一个如下的课程:
public class Command {
private Item data1;
private AnotherObject data2;
// getters and setters omitted for brevity
}
并且该方法应声明为
public ResponseEntity<?> createIslem(@RequestBody Command command)
这样Java对象结构就与您发送的JavaScript对象的结构相匹配。