这是我的编码
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
,这里出了什么问题?,请帮忙
由于
答案 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包含在已发送的对象中。