4 Stimmen

Verwendung einer Standardmethode für nicht übereinstimmende REST-Methoden in Jersey

Ich weiß, dass dies nicht ganz "restful" ist, aber ich möchte wissen, ob und wie ich alle Anfragen behandeln kann, die keiner der Methoden in meiner REST-Ressource entsprechen (ich möchte diese Anfragen an einen anderen Server weiterleiten). Zum Beispiel könnte es eine Methode wie sein:

@GET 
@Path("*") 
public Response defaultMethod(@Context HttpServletRequest request, @Context HttpServletResponse response) 
{ 
    // do proxying here 
} 

Wie kann ich das erreichen?

BR,

SerkanC

9voto

Matthew Kuraja Punkte 391
@Path("/{default: .*}")

Dies funktioniert für:

  • http://example.com/someUnexpectedPath
  • http://example.com/someUnexpectedPath/withAdditionalSubPaths
  • http://example.com/someUnexpectedPath/withAdditionalSubPaths?andParams=whatever

2voto

Chris Salij Punkte 3026

Eine mögliche Option wäre die Definition einer benutzerdefinierten 404-Zuordnung. Da 404s alle nicht übereinstimmenden Anfragen behandelt, sollte es alle undefinierten URLs abfangen.

Ich habe folgendes zu meiner web.xml Datei

 <error-page>
    <error-code>404</error-code>
    <location>/error/404</location>
  </error-page>

Dabei ist location der Pfad, an den die Anfrage gerichtet werden soll. Dann definieren Sie den Aufruf einfach wie gewohnt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X