Printemps - 405 méthode Http SUPPRIMER n'est pas pris en charge par cette URL
Eh bien, j'ai un problème étrange avec l'exécution d'un "SUPPRIMER" de la requête HTTP au Printemps.
J'ai un contrôleur de la méthode que j'ai mappé une demande de SUPPRESSION:
@RequestMapping(value = "/{authorizationUrl}",method=DELETE)
public void deleteAuthorizationServer(
@RequestHeader(value="Authorization") String authorization,
@PathVariable("authorizationUrl") String authorizationUrl)
throws IOException {
System.out.println("TEST");
}
Le contrôleur est mappé à l'aide d' @RequestMapping("/authorization_servers");
Quand j'ai envoyer une demande par le biais de mon DEV Client Http, je reçois la réponse : 405 Http method DELETE is not supported by this URL
.
La requête ressemble à ceci:
DELETE localhost:8080/authorization_servers/asxas
Headers:
Authorization: "test:<stuff>"
Si quelqu'un peut examiner cette question et de m'aider, je vous serais reconnaissant
Ce mappage avez-vous sur le contrôleur de classe elle-même? Avez-vous un @ApplicationPath mis en place ainsi?
Merci! J'ai cette
Déplacé à un commentaire comme le suggère. La méthode est appelée par Ajax, correct?
Ainsi que l'url que vous utilisez pour accéder à qui? Je suis désolé de poser des questions évidentes, mais quand nous le comprendre, je sens qu'il va être un /facepalm moment.
Je suis d'accord!
Merci! J'ai cette
@RequestMapping("/authorization_servers")
Déplacé à un commentaire comme le suggère. La méthode est appelée par Ajax, correct?
Ainsi que l'url que vous utilisez pour accéder à qui? Je suis désolé de poser des questions évidentes, mais quand nous le comprendre, je sens qu'il va être un /facepalm moment.
Je suis d'accord!
OriginalL'auteur Sasanka Panguluri | 2014-04-28
Vous devez vous connecter pour publier un commentaire.
Cela fonctionne:
Vous avez été absent @ResponseBody. Votre méthode est en fait appelé; c'est ce qui s'est passé après que qui a produit le code d'erreur.
gémissement ne Peux pas croire que j'ai manqué
Cela ne devrait pas donner une 405. Si elle le fait, c'est un bug avec le Printemps.
il ne fonctionne pas pour moi :/ stackoverflow.com/questions/11471604/...
OriginalL'auteur Rob Worsnop
Votre annotation devrait ressembler à ceci:
Je ne sais pas où tu as SUPPRIMER une variable. 🙂
Je vous remercie pour votre temps, cependant, je ne statique d'importation SUPPRIMER à partir du printemps:
import static org.springframework.web.bind.annotation.RequestMethod.DELETE;
Blast! De retour à la planche à dessin.
OriginalL'auteur jgitter
Si le
@RequestMapping
modèle ne correspond pas ou est invalide, il en résulte un 404 not found. Toutefois, s'il arrive à correspondre à un autre mapping avec une méthode différente (ex. GET), il en résulte dans ce405 Http method DELETE is not supported
.Ma question était juste comme celui-ci, à l'exception de mes requestMapping était la cause. C'est cette:
La voyez-vous? L'intérieur accolade de fermeture est manquant, il convient de:
{ "/thing/{id:\\d+}" }
La\\d+
est une expression régulière correspondant à 1 ou plusieurs chiffres. Les accolades délimiter le paramètre le chemin d'accès pour une utilisation avec@PathVariable
.Depuis qu'il est invalide, il ne peut pas correspondre à ma demande de SUPPRESSION:
http://example.com/thing/33
qui aurait conduit à une erreur 404 not found, cependant, j'ai eu une autre cartographie pour OBTENIR:
Depuis le corset modèle est correct, mais ce n'est pas une méthode SUPPRIMER, puis il a donné une erreur 405 méthode qui n'est pas pris en charge.
Espère que cela vous aide!
OriginalL'auteur David Lotts
assurez-vous également que vous êtes à l'appeler avec
"Content-Type" header="text/html"
. Si non, alors le changer ou de le spécifier dans larequestMapping
. Si elle ne correspond pas, vous obtenez le même 405.Espère que cela aide quelqu'un.
OriginalL'auteur Jason