Рестлет - Доступ к элементам URL запроса - PullRequest
4 голосов
/ 10 июня 2010

Я не уверен, как правильно обращаться к частям запрошенного URL.

В этом случае я хочу получить запрошенный путь без переменных запроса.Это единственный способ сделать это:

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

Результатом будет жирная часть этого URL: https://stackoverflow.com/questions/ask?query=value

Я также нашел около 6 различных способовчтобы получить имя сервера (http://stackoverflow.com), но я беспокоюсь, что некоторые из них потерпят неудачу в определенных случаях, о которых я не знаю (почему было бы 6 различных способов сделать одно):

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

И, похоже, получается полный URL-адрес с параметрами запроса:

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

Любое дальнейшее объяснение будет высоко ценится.

1 Ответ

4 голосов
/ 10 июня 2010

Если вы находитесь в UniformResource (или подклассе), я думаю, вы можете искать метод getReference (), который возвращает ссылку на URI. В этом классе есть ряд других вспомогательных методов, которые могут вас заинтересовать, поэтому вам не нужно выполнять запрос. См. UniformResource (Restlet 2.0).

...