Können wir den gleichen GET-URI aber mit anderen Abfrageparametern erstellen?
Zum Beispiel: Ich habe zwei REST GET URIs:
%Vor%Nun erkennt der REST-Service zwei GET-Methoden nicht als separate und berücksichtigt nur eine GET-Methode, die als erste deklariert wird.
Es würde sehr geschätzt werden, wenn Sie irgendeine Ressource zitieren könnten.
Weil eine Ressource eindeutig durch ihren PATH (und nicht durch ihre Parameter) identifiziert wird. Zwei Ressourcen, die Sie definieren, haben denselben PATH.
%Vor%Laut JSR-311 :
Solche als Sub-Resource-Methoden bekannten Methoden werden wie normale behandelt Ressourcenmethode (siehe Abschnitt 3.3), außer dass die -Methode nur aufgerufen wird für Anforderungs-URIs, die einer durch Verketten erstellten URI-Vorlage entsprechen die URI-Vorlage der Ressourcenklasse mit der URI-Vorlage der Methode .
Da Ihr Datenmodell zwei verschiedene Ressourcen enthält, empfehle ich zwei Ruhemethoden mit unterschiedlichen Pfaden:
%Vor%Dies ist der REST-konforme Weg, da ein URI eine einzige Ressource repräsentiert und es keine Überladung geben sollte. Wenn ein URI mehr als eine Ressource darstellt, bedeutet das, dass Sie irgendwo falsch liegen.
Sie können nicht zwei Getter mit derselben URL, aber unterschiedlichen Anforderungsparametern haben. Was Sie tun können, ist eine Getter-Methode mit vielen Anfrage-Parameter zu haben.
%Vor%rufen Sie es dann mit zwei Parametern
auf %Vor%Sie müssen mit der Logik innerhalb der Testmethode umgehen, um diese Parameter entsprechend zu behandeln.
Was Darijan anbelangt, so denke ich, dass es an der Zeit ist, mit zwei Methoden oder einer Methode zu entscheiden, die die Unterstreichungslogik berücksichtigt. Wenn Sie mit zwei Methoden arbeiten, verwenden Sie zwei uri. Wenn die Geschäftslogik in Ordnung ist, mit einer URI zu gehen, dann benutze die Art wie ich geantwortet habeSie können den Restendpunkt in Bezug darauf, welche Anfrage- / Abfrageparameter in der Anfrage vorhanden sind, überladen. Hier ist die Antwort, die meinen Anwendungsfall gelöst hat: zwei Methoden erstellen für dasselbe URL-Muster mit verschiedenen Argumenten