Post方法总是返回“405不允许的方法”,但
问题描述:
我使用的弹簧引导码头在我的dev的机器做工精细,并实现了一些REST调用,所有的get方法在两个环境dev
和qa
工作正常,但邮政总是返回'405方法不允许',我检查了一切,如标题,正文和其他参数一切似乎正确。Post方法总是返回“405不允许的方法”,但
我正在使用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"); }
}
答
这个答案真的应该是一个评论,但不幸的是我没有50代表呢。
我注意到的第一个问题是,在它甚至到达catch语句之前,您正在关闭resub()函数。
这并不能解释为什么你会得到405 http状态响应。
“此问题的主要原因是使用错误的方法(不适用于您的情况)或者为相同的动词/方法定义了多个处理程序,并且其中一个处理程序阻止预期的处理程序处理请求...... IIS根据applicationHost.config和web.config文件中的顺序处理程序条目从第一个到最后一个处理处理程序,其中第一个匹配的路径,动词,资源等组合将用于处理请求[1]“。
希望这会有所帮助,如果不是让我知道,我可以继续尝试帮助:)
所以,现在你有代表... :) –
谢谢,我“M仍为1短虽然哈哈:) –
@MrPigeon,方法定义是正确的,看来你没有注意到的开始花括号是有在同一行的函数名。 – Ali786