发送多个数据对象(angular - spring rest)
Sending multiple data objects (angular - spring rest)
下面的代码工作正常,但我无法弄清楚在发送两个数据对象的情况下如何处理请求。
//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) {
//...
});
嗯,你应该有一个像下面这样的 class:
public class Command {
private Item data1;
private AnotherObject data2;
// getters and setters omitted for brevity
}
并且该方法应声明为
public ResponseEntity<?> createIslem(@RequestBody Command command)
以便 Java 对象结构与您发送的 JavaScript 对象的结构匹配。
下面的代码工作正常,但我无法弄清楚在发送两个数据对象的情况下如何处理请求。
//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) {
//...
});
嗯,你应该有一个像下面这样的 class:
public class Command {
private Item data1;
private AnotherObject data2;
// getters and setters omitted for brevity
}
并且该方法应声明为
public ResponseEntity<?> createIslem(@RequestBody Command command)
以便 Java 对象结构与您发送的 JavaScript 对象的结构匹配。