繁体   English   中英

Spring REST错误500

[英]Spring REST error 500

我正在使用Spring实现REST服务。 当我调用delete函数时,请求没有到达控制器,并且从JS收到错误:angular.js:12587 DELETE http:// localhost:8080 / Guard_Server / restapi / sites?siteId = 5 500(内部服务器错误)

我的控制器功能如下:

@RequestMapping(value="sites", method=RequestMethod.DELETE)
boolean deleteSite(@PathVariable("siteId") int site_id, HttpServletResponse res){
    .......
}

而AngularJS的功能是:

$scope.deleteSite=function(){
            if(confirm("Are you sure you want to delete this Site?")){
                var site={};
                site.siteId=sites[$scope.selectedSite].id;
                console.log(site);
                siteFactory.delete(site).$promise.then(function(result){
                    ...
                }
                ,error_on_execute);
            }
        }

与工厂:

serverApp.factory('referentFactory',['$resource',function ($resource){
   return $resource("http://localhost:8080/Guard_Server/restapi/referents",null,{ 'update': {method: 'PUT'} });
}]);

正如我在网址中看到的那样

http://localhost:8080/Guard_Server/restapi/sites?siteId=5

你应该使用@RequestParam而不是@PathVariable

@RequestParam用于访问查询参数, @PathVariable是url的一部分。

@RequestParam

   http://localhost:8080/Guard_Server/restapi/sites?siteId=5

@PathVariable

   http://localhost:8080/Guard_Server/restapi/sites/siteId/5

有关更多信息,请参阅此

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM