根据
Spring Documentation
here:
While HTTP defines these four methods,HTML only supports two: GET and POST. Fortunately,there are two possible workarounds: you can either use JavaScript to do your PUT or DELETE,or simply do a POST with the ‘real’ method as an additional parameter (modeled as a hidden input field in an HTML form).
他们已经完成了后者,并且可以使用以下spring MVC表单标签来实现:
<form:form method="delete"> <input type="submit" value="Delete"/> </form:form>
HTTP Status 405 - Request method 'POST' not supported
我将org.springframework.web的调试级别更改为debug并找到以下消息:
DEBUG AnnotationMethodHandlerExceptionResolver - Resolving exception from handler [foo.bar.MessageForm@da9246]: org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported
我使用RestClient和DELETE方法,并按预期调用该方法.我在这做错了什么?
解决方法
您需要在web.xml中配置HiddenHttpMethodFilter
细节可以找到here: