发送多个数据对象(角度 - 弹簧支架)

时间:2015-08-29 11:29:41

标签: angularjs spring rest spring-restcontroller

以下代码工作正常,但在发送两个数据对象的情况下,我无法弄清楚如何处理请求。

        //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) {
        //...
        });

1 个答案:

答案 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对象的结构相匹配。