2010-11-04 12 views
7

Selon le printemps Documentation here:Méthode de requête 'POST' non pris en charge

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).

Ils ont fait ce dernier, et peut être réalisé avec la balise form MVC printemps suivant:

<form:form method="delete"> 
    <input type="submit" value="Delete"/> 
</form:form> 

Le problème est quand je clique sur «Supprimer» ma page renvoie l'erreur suivante:

HTTP Status 405 - Request method 'POST' not supported 

I ch ANGed le niveau de débogage de org.springframework.web pour déboguer et a trouvé le message suivant:

DEBUG AnnotationMethodHandlerExceptionResolver - Resolving exception from handler [[email protected]]: 
org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported 

I utilisé RestClient avec la méthode SUPPRIMER et la méthode est appelée comme prévu. Qu'est-ce que je fais mal ici?

+0

J'ai essayé POST en tant que paramètre à l'aide RESTClient et a renvoyé un code d'état: 405 Méthode non autorisée. Où pourrait être le problème? – Joopiter

+0

Pouvez-vous poster votre contrôleur? – hisdrewness

+0

@hisdrewness oui je peux, mais je ne pense pas que le problème est dans la cartographie de l'url du contrôleur depuis l'utilisation de RestClient fonctionne très bien. – Joopiter

Répondre

5

Vous devez configurer HiddenHttpMethodFilter dans votre web.xml

détails peuvent être trouvés here:

+0

J'ai configuré le filtre et placé le mappage de filtre pour contenir le de Spring MVC Dispatcher, mais cela ne fonctionnait toujours pas. D'autres suggestions? – Joopiter

+0

a changé le en * et cela a bien fonctionné. Il semble que l'utilisation d'urlrewrite fait partie du problème puisque quand j'ai essayé app/* ce filtre est validé avant le filtre urlrewrite. Merci maximdim! – Joopiter