2016-11-29 4 views
1

Ich benutze Anlegestelle mit Spring-Boot, und implementiert einige Ruheaufrufe, alle Get-Methoden funktionieren gut in der Umgebung dev und qa , aber Post gibt immer '405 Method Not Allowed' zurück, ich habe alles wie Header, Body und andere Parameter überprüft, alles scheint korrekt zu sein.Post-Methode im Rest immer zurück '405 Methode nicht erlaubt', aber funktioniert gut in meinem Gerät

Ich benutze Federstütze Umsetzung, irgendwelche Ideen, warum es scheitert.

Methode Definition:

@RequestMapping(value ="/resub" ,method=RequestMethod.POST) 
public ResponseEntity<?> resub(@RequestBody Subscription Subscription,HttpServletRequest request){ 
    try { 
      // call to other service methods 
     //} 
     } catch (Exception e) { 
      if(e instanceof HttpClientErrorException) 
       return commonUtil.getExceptionResponse(e.getMessage()); 
      else 
       return commonUtil.getExceptionResponse("Unknown Error Occured"); } 
    } 

Antwort

1

Diese Antwort sollte wirklich ein Kommentar sein, aber leider noch habe ich nicht 50 rep.

Das erste Problem, das ich bemerke, ist, dass Sie die resub() -Funktion schließen, bevor es überhaupt zur catch-Anweisung kommt.

Das erklärt nicht, warum Sie eine HTTP-Statusantwort mit 405 erhalten würden.

"Die Hauptursache für dieses Problem ist entweder die falsche Methode (nicht auf Ihren Fall anwendbar) oder mehrere Handler wurden für das gleiche Verb/Methode definiert, und einer der Handler blockiert den erwarteten Handler von der Verarbeitung der Anfrage. ... IIS verarbeitet Handler vom ersten bis zum letzten basierend auf den Order - Handler - Einträgen in den Dateien applicationHost.config und web.config, wobei die erste passende Kombination aus Pfad, Verb, Ressource usw. verwendet wird, um die Bitte [1]. "

hoffe, das hilft, wenn nicht lassen Sie mich wissen und ich kann auch weiterhin zu helfen versuchen :)

[1] - https://www.asp.net/web-api/overview/testing-and-debugging/troubleshooting-http-405-errors-after-publishing-web-api-applications

+0

so, jetzt haben Sie die rep ... :) –

+0

Danke, ich bin immer noch 1 kurz, aber hahaha :) –

+0

@MrPigeon, Methode Definition ist richtig, es scheint, dass Sie nicht die Start geschweiften Klammer, die dort auf der gleichen Zeile der Funktionsnamen ist. – Ali786

Verwandte Themen