Pregunta

Estoy seguro de lo que es la forma correcta para acceder a piezas de la URL solicitada.

En este caso, quiero obtener la ruta solicitada sin las variables de consulta. Esta es la única manera que encontré para hacerlo:

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

El resultado sería la parte más audaz de esta url: https://stackoverflow.com/questions/ask ? query = valor

También se encontró cerca de 6 maneras diferentes de obtener el nombre del servidor ( http://stackoverflow.com ), pero me preocupa que algunos de ellos fallan en ciertos casos que no tengo conocimiento de (¿por qué no ser de 6 formas diferentes de hacer una cosa):

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

Y esto parece obtener la URL completa con los parámetros de consulta:

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

Cualquier explicación adicional sería muy apreciada.

¿Fue útil?

Solución

Si estás en un UniformResource (o subclase) Creo que podría estar buscando el getReference método (), que devuelve la referencia URI. Hay una serie de otros métodos de conveniencia de esa clase que podría estar interesado en lo que no tiene que ir a través de la solicitud. Ver UniformResource (Restlet 2,0).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top