Frage

Ich bin mir nicht sicher, was der richtige Weg, um Zugang zu Teilen der angeforderten URL ist.

In diesem Fall möchte ich, ohne dass die Query-Variablen den angeforderten Pfad erhalten. Dies ist der einzige Weg, fand ich es tun:

String path = getRequest().getResourceRef().getHostIdentifier() + 
     getRequest().getResourceRef().getPath();

Das Ergebnis wäre der fettgedruckte Teil dieser URL sein: https://stackoverflow.com/questions/ask ? query = Wert

ich auch über 6 verschiedene Wege gefunden, die Servernamen ( http://stackoverflow.com ) zu bekommen, aber ich bin besorgt, dass einige von ihnen in bestimmten Fällen fehlschlagen würde, dass ich nicht bewusst (warum sollte es 6 verschiedene Möglichkeiten, um eine Sache zu tun):

getRequest().getHostRef().getHostIdentifier();
getRequest().getHostRef().getIdentifier();
getRequest().getRootRef().getHostIdentifier();
getRequest().getRootRef().getIdentifier();
getRequest().getResourceRef().getHostIdentifier();

Und dies scheint die vollständige URL mit Abfrage-Parameter zu erhalten:

getRequest().getResourceRef().getIdentifier();

Jede weitere Erklärung wäre sehr geschätzt.

War es hilfreich?

Lösung

Wenn Sie in einem UniformResource (oder Unterklasse) Ich glaube, Sie könnten für die Methode getReference suchen (), die die URI-Referenz zurückgibt. Es gibt eine Reihe von anderen Convenience-Methoden in dieser Klasse, die Sie interessieren könnten, so dass Sie haben auf die Anfrage nicht gehen. Siehe UniformResource (Restlet 2.0).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top