我正在使用带弹簧启动的jetty,并且实现了一些休息调用,所有get方法在环境dev
和qa
中都正常工作,但是post总是返回'405 Method Not Allowed ',我检查了所有内容,如标题,正文和其他参数,一切似乎都正确。
我正在使用Spring rest实现,任何想法为什么失败。
方法定义:
@RequestMapping(value ="/resub" ,method=RequestMethod.POST )
public ResponseEntity<?> resub(@RequestBody Subscription Subscription,HttpServletRequest request ){
try {
// call to other service methods
//}
} catch (Exception e) {
if(e instanceof HttpClientErrorException)
return commonUtil.getExceptionResponse(e.getMessage());
else
return commonUtil.getExceptionResponse("Unknown Error Occured"); }
}
答案 0 :(得分:1)
这个答案应该是一个评论,但不幸的是我还没有50个代表。
我注意到的第一个问题是你在进入catch语句之前关闭了resub()函数。
但这并不能解释为什么你会得到405 http状态响应。
&#34;此问题的主要原因是使用了错误的方法(不适用于您的情况)或者为同一个动词/方法定义了多个处理程序,其中一个处理程序阻止了预期的处理程序处理请求。 ... IIS根据applicationHost.config和web.config文件中的订单处理程序条目从头到尾处理处理程序,其中路径,动词,资源等的第一个匹配组合将用于处理请求[ 。1]&#34;
希望这有帮助,如果不让我知道,我可以继续尝试帮助:)