Bem, existem dois métodos para acessar esses dados mais facilmente, mas a interface não oferece a possibilidade de obter a URL inteira com uma chamada. Você deve construí-lo manualmente:
public static String makeUrl(HttpServletRequest request)
{
return request.getRequestURL().toString() + "?" + request.getQueryString();
}
Não sei como fazer isso com as instalações do Spring MVC.
Se você deseja acessar a solicitação atual sem passá-la em todos os lugares, você terá que adicionar um ouvinte no web.xml:
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
Em seguida, use isso para vincular a solicitação ao Thread atual:
((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest()
HttpServletRequest
objeto. Isso ocorre porque estou usando várias classes / métodos auxiliares e não quero passar o objeto de solicitação todas as vezes.