我之前在Jersey和RESTEasy框架中工作过,现在我们将Spring Rest用于一个新项目,我不想将所有查询参数和矩阵参数作为方法中的参数传递,通常我会用以下方法注释该方法: @Context UriInfo
并将获取我在Jersey或RESTEasy Framework中的方法中用于复杂参数的所有参数。
我想知道Spring REST中是否有任何@Context UriInfo
,类似于RESTEasy或Jersey框架。我想在方法内部获取所有查询参数或矩阵参数以及其他参数,而不是将它们作为方法中的参数传递。
最佳答案
我没有找到等效于UriInfo的任何Spring类。
但是我们可以从httpservlet请求中获取相同的信息。假设网址是http:localhost:8080/services/test?one = 1&two = 2,那么,
hsr.getServletContext.getContextPath() gives "/services"
hsr.getRequestURI() gives "/services/test"
hsr.getRequestURL() gives complete url "http:localhost:8080/services/test"
hsr.getQueryString() gives "one=1&two=2"
hsr.getServletPath() gives "/test"
hsr.getParameterMap() gives all query strings in a Map as key value pair
您可以在URIinfo对象中设置和使用这些值