在我的春季控制器中,我有这个:
@RequestMapping(value = "/users/{id}", method = RequestMethod.DELETE)
@ResponseBody
public void deleteUser(@RequestParam(value = "id") long id) throws Exception {
users.delete(id); // It works on tests
}
这里我想删除URL中的传递用户(来自他的ID)。
在我的AngularJS应用程序中,我有这个模块:
angular.module('app')
.factory('DeleteUserService', function($resource) {
return $resource('/users/:id', {id:'@id'}, {
deleteUser: {
method:'DELETE',
headers : {'Content-Type': 'application/json'}
}
});
});
});
我从我的用户管理页面调用该模块,其中包含:
DeleteUserService.deleteUser({id:$scope.id}, function() { //$scope.id = 15
console.log('Correctly deleted!');
});
问题是我收到400错误请求错误:DELETE http://localhost:8080/users/15
[HTTP/1.1 400 Required long parameter 'id' is not present 2ms]
我不明白为什么我的控制器没有看到参数:/
你能帮我找到问题吗?
谢谢,如果您需要其他代码,请不要犹豫。