在Restangular

时间:2015-04-24 20:08:55

标签: angularjs restangular

这是我的编码

angular.module('app', ['restangular'])
    .config(function(RestangularProvider) {
        RestangularProvider.setBaseUrl('http://www.abc.local');
    })
    .controller('UpdateController', function($scope, Restangular) {
        $scope.getEmployee = function() {
            var Employee = Restangular.one('employee', 10002);
            Employee.get().then(function(employee) {
                $scope.employee = employee;

                var editEmployee = employee;
                editEmployee.first_name = 'XXX';
                editEmployee.put();
            })
        }
    });

使用Employee.get(),Restangular让我成为GET http://www.abc.local/employee/1002,这里一切正常

但是使用editEmployee.put(),Restangular让我PUT http://www.abc.local/employee而不是PUT http://www.abc.local/employee/10002,这里出了什么问题?,请帮忙

由于

1 个答案:

答案 0 :(得分:0)

我工作的应用程序仅使用" customPUT"那样:

 Restangular.all('groups').customPUT($scope.group).then(function() 
                {
                    $scope.serverCallDone();
                }, function()
                {
                    $scope.serverCallError();
                });

服务器端:

@Provider
@Path("groups")
public class GroupsRESTFacade {

    @PUT
    @Consumes({"application/xml", "application/json"})
    @Transactional    
    public void edit(GroupDetail _group, @Context HttpServletRequest req) {
        // . . .
    }   
}

我们不需要REST参数来指定ID,因为ID包含在已发送的对象中。