Erfassen Sie alle möglichen path-Parameter jax-rs regex
Was ist die regex für @Path("<what_regex>")
erfassen alle möglichen path-Parameter Tiefe (außer zu bestimmten Weg, das soll verarbeitet werden, durch eine andere Methode)?
Wie:
/{path1}/{path1}/{path1}/{path1}/{path1}/
und so weiter
Während immer noch anzeigen diese:
/create
/read
/update
/delete
Anderen Jax-rs-Ressource-Methoden.
@Singleton
@Path("/")
public class MyRest {
@GET
@Path({pathParam}) /* This works */
public Response getSomething(...){}
@POST
@Path("create") /* Along with this */
public Response createSomething(...){}
//and so on
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zunächst, werden Sie wahrscheinlich nicht in der Lage sein zu fangen diese
/{path1}/{path1}/{path1}/{path1}/{path1}/
wie Sie können nicht mit einer unbestimmten Anzahl von Parametern nur mit einem regex.Das heißt, es scheint die regex-engine verwendet, ist java eine (ziemlich logisch). So könnten Sie negative lookaheads, um sicherzustellen, dass Sie nicht fangen Sie Ihre keywords. Also ich denke, man könnte sowas haben:
Dann teilen Sie die path var, mit "/" als Trennzeichen.
Noch. Könntest du nicht einfach, um Ihre Funktionen, so dass die Allgemeinen Fall wird überprüft, letzten? Ich denke, es ist die einfachste...
Dann würden Sie nur verwenden:
was ist leichter, und mit weniger boilerplate.
Edit:
Um genau zu sein, der erste, der nicht übereinstimmt URLs wie "/erstellen/anythingelse", da es einfach verbietet zu haben /erstellen (und natürlich gilt das gleiche auch für Ihre anderen keywords).