【发布时间】:2014-09-09 19:02:18
【问题描述】:
我正在尝试通过角度服务访问休息方法。这是我的其余方法的代码。
@RestController
@RequestMapping("/api")
public class UserController {
@RequestMapping(value ="/removeUserRole/{roleId}", method = RequestMethod.DELETE)
public void removeUserRole(@PathVariable("roleId")Long roleId){
System.out.println("inside delete method");
}
}
这是我的 angularJs 服务方法。
App.factory('manageRoleService', ['$resource',
function($resource) {
return {
getUserRoleDetails: $resource('api/getUserRoleDetails', {}, {
query: {method: 'GET', isArray: true}
}),
removeUserRole: $resource('api/removeUserRole/:roleId', {}, {
delete: {method: 'DELETE', params: {id: '@roleId'}}
})
};
}]);
get 方法工作正常。但是当我尝试调用 delete 方法时,它会出现以下错误。
405 方法不允许
不支持请求方法“DELETE”
我在这里做错了什么。我尝试在同一问题上关注一些线程,但没有任何帮助。
提前致谢。
【问题讨论】:
-
请显示,作为来自服务器的 StackTrace 关于此事。如果您打开 MVC 的 INFO 日志记录级别并在此处也显示日志,那就太好了。
-
这是服务器日志中打印的内容 15:20:01,603 WARN [org.springframework.web.servlet.PageNotFound] (default task-27) Request method 'DELETE' not supported
-
您可能希望将 org.springframework.web.servlet 的日志级别用于调试甚至跟踪,看看是否有任何奇怪的映射打印在那里。