JAX-RS - Können zwei Klassen haben den gleichen @Path identifier?

Ich habe eine webapp, die leitet auf eine bestimmte URI: lassen Sie uns sagen, /service/Bibliothek. In einem anderen bundle, ich habe eine jaxrs-server, die überwacht, /service in der URI, und definiert einige Bohnen, die Anforderung zu verarbeiten. Es gibt durchaus ein paar Bohnen schon da, und eine der Klassen bereits implementiert, um die Anforderungen für /service/Bibliothek. Ich bin versucht, zu erstellen eine neue Klasse, die auch die Verarbeitung von Anforderungen für /service/Bibliothek, aber mit einer anderen absoluten URI-Pfad, zum Beispiel: /service/Bibliothek/mynewlibrary. Meine Frage ist, ist es möglich zu definieren, den gleichen @Path identifier in zwei Klassen, oder muss Sie eindeutig sein, in anderen Worten, ich muss eine URI wie /service/mylibrary für meine neue Klasse Umsetzung statt der Implementierung einer zweiten Klasse, die auch verwendet den gleichen @Path identifier? Ich bin ziemlich neu auf JAX-RS, so dass ich hoffe, meine Frage macht Sinn!

Dank!

  • Was passiert, wenn Sie es versuchen?
  • Wenn ich es versuchte, keine der Methoden, die in meiner neuen Klasse aufgerufen werden, und nur die Methoden, die von der aktuellen Klasse, Bedienung /service/Bibliothek aufgerufen werden
  • sind Sie sicher, dass die neue Klasse registriert ist? Was die JAX-RS-framework verwenden Sie?
  • Ich bin mit CXFServlet, wo kann ich sicherstellen, dass die Klasse registriert ist? In meinem beans.xml Datei, es ist mit einem jaxrs:server Adresse="/service" und jaxrs:serviceBeans als "classA und classB, wo classA wird @Path("/library") und classB (meine Klasse) versucht, mit @Path("/library") als gut. Zum Beispiel, eine der Methoden der classA behandelt eine Anfrage für /service/Bibliothek/Bücher, und eine Methode von Klasse B verarbeitet Anfrage für /service/Mediathek/Filme. Ich bin mir nicht erlaubt, fügen Sie einfach eine weitere Methode in classA-Griff /service/Bibliothek/Filme, deshalb möchte ich eine andere Klasse. Danke!
InformationsquelleAutor Stephen | 2011-04-18
Schreibe einen Kommentar