Pergunta

Não tenho certeza de qual é a maneira correta de acessar partes do URL solicitado.

Nesse caso, quero obter o caminho solicitado sem as variáveis ​​de consulta.Esta é a única maneira que encontrei de fazer isso:

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

O resultado seria a parte em negrito deste URL: https://stackoverflow.com/questions/ask?consulta=valor

Também encontrei cerca de 6 maneiras diferentes de obter o nome do servidor (http://stackoverflow.com), mas estou preocupado que alguns deles falhem em certos casos que não conheço (por que haveria 6 maneiras diferentes de fazer uma coisa):

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

E isso parece obter o URL completo com parâmetros de consulta:

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

Qualquer explicação adicional seria muito apreciada.

Foi útil?

Solução

Se você estiver em um UniformResource (ou subclasse), acho que você pode estar procurando pelo método getReference(), que retorna a referência do URI.Existem vários outros métodos de conveniência nessa classe nos quais você pode estar interessado, para que não precise passar pela solicitação.Ver UniformResource (Resto 2.0).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top