PUT und POST bekommen 405 Methode nicht erlaubt Fehler für Restful Web Services

8

Ich versuche, einen einfachen Restful Web-Service einzurichten, der entweder JSON oder XML gemäß dem Accept-Header zurückgibt. Ich benutze Spring, Maven und WebLogic Server. Ich nahm das Beispiel aus diesem Post Ссылка und versuchte es um es zu verbessern. GET und DELETE funktionieren sowohl für JSON als auch für XML. PUT und POST gibt jedoch einen Fehler "405 Method Not Allowed". Ich versuche, dies mit dem erweiterten Chrome-Extension-Rest-Client zu testen. Unten sind die Response-Header.

%Vor%

der Anfragekörper, den ich gebe, ist unten:

%Vor%

Meine Controller-Klasse ist wie folgt:

%Vor%

Im Moment habe ich nichts in PUT.

    
Some Guy Really 11.02.2014, 15:30
quelle

3 Antworten

5

Nun, anscheinend musste ich meine PUT-Aufruffunktion updateUser ändern. Ich entfernte die @Consumes , die @RequestMapping und fügte auch einen @ResponseBody zur Funktion hinzu. So sah meine Methode so aus:

%Vor%

Und es hat funktioniert !!! Vielen Dank für die Antwort.

    
Some Guy Really 11.02.2014, 19:04
quelle
9

Beachten Sie die zulässigen Methoden in der Antwort

%Vor%

Es akzeptiert nur GET und DELETE. Daher müssen Sie den Server optimieren, um auch PUT und POST zu aktivieren.

%Vor%     
aNish 11.02.2014 15:37
quelle
1

Ich bin nicht sicher, ob ich richtig bin, aber aus dem Anfrage-Header, den Sie posten:

  

Kopfzeilen anfordern

     

Akzeptieren: Anwendung / json

     

Ursprung: chrome-extension: // hgmloofddffdnphfgcellkdfbfbjeloo

     

User-Agent: Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 537.36 (KHTML, wie Gecko) Chrome / 29.0.1547.76 Safari / 537.36

     

Inhaltstyp: application / x-www-form-urlencoded

     

Accept-Encoding: gzip, deflate, sdch Akzeptieren-Sprache: de-DE, de; q = 0.8

Es sieht so aus, als ob Sie Ihren Anfragetext nicht auf den JSON-Typ konfiguriert haben.

    
weiyueli 11.02.2014 15:38
quelle