Метод запроса 'POST' не поддерживается - PullRequest
8 голосов
/ 04 ноября 2010

Согласно весенней документации здесь :

Хотя HTTP определяет эти четыре метода, HTML поддерживает только два: GET и POST. К счастью, есть два возможных обходных пути: вы можете использовать JavaScript для выполнения PUT или DELETE, или просто выполнить POST с реальным методом в качестве дополнительного параметра (смоделированного как скрытое поле ввода в форме HTML). *

Они сделали последнее и могут быть достигнуты с помощью следующего тега 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 AnnotationMethodHandlerExceptionResolver - Resolving exception from handler [foo.bar.MessageForm@da9246]:
org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported

Я использовал RestClient с методом DELETE, и метод вызывается, как и ожидалось. Что я тут не так делаю?

1 Ответ

5 голосов
/ 04 ноября 2010

Вам необходимо настроить HiddenHttpMethodFilter в вашем web.xml

Подробности можно найти здесь :

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...