Nun, ich habe ein seltsames Problem mit der Ausführung einer "DELETE" HTTP-Anfrage im Frühjahr.
Ich habe eine Controller-Methode, der ich eine DELETE-Anfrage zugeordnet habe:
%Vor% Der Controller wird mit @RequestMapping("/authorization_servers");
zugeordnet.
Wenn ich eine Anfrage über meinen DEV Http Client sende, bekomme ich die Antwort: 405 Http method DELETE is not supported by this URL
.
Die Anfrage sieht so aus:
%Vor%Wenn jemand sich das ansehen und mir helfen kann, wäre ich dankbar
Das wird funktionieren:
%Vor%Sie haben @ResponseBody vermisst. Ihre Methode wurde tatsächlich angerufen; Es war, was danach geschah, das den Fehlercode produzierte.
Wenn das Muster @RequestMapping
nicht übereinstimmt oder ungültig ist, wird 404 nicht gefunden. Wenn es jedoch zu einem anderen Mapping mit einer anderen Methode (zB GET) kommt, ergibt dies 405 Http method DELETE is not supported
.
Mein Problem war genau wie dieses, außer dass mein requestMapping die Ursache war. Es war das:
%Vor% Siehst du es? Die innere schließende Klammer fehlt, es sollte sein: { "/thing/{id:\d+}" }
Der \d+
ist ein regulärer Ausdruck, der 1 oder mehr numerischen Ziffern entspricht. Die geschweiften Klammern begrenzen den Parameter im Pfad zur Verwendung mit @PathVariable
.
Da es ungültig ist, kann es meiner DELETE-Anfrage nicht entsprechen: Ссылка was zu einem Fehler 404 nicht gefunden hätte, aber ich hatte eine andere Zuordnung für GET:
%Vor%Da das geschweifte Muster korrekt ist, aber es ist keine Methode DELETE, dann wurde eine Fehler 405-Methode nicht unterstützt.
Hoffe das hilft dir!
Tags und Links java spring spring-mvc http-status-code-405 http-delete