2016-01-09 3 views
4

Я раньше работал в структуре Jersey и RESTEasy, и теперь мы будем использовать Spring Rest для нового проекта, я не хочу передавать все параметры запроса и параметры матрицы как параметры в методе, и обычно я бы аннотировал метод с помощью @Context UriInfo и получил бы все параметры внутри моего метода на Джерси или RESTEasy Framework для сложных параметров.Что такое эквивалент @Context UriInfo в Spring Rest

Я хотел бы знать, есть ли @Context UriInfo весной REST, которая похожа на RESTEasy или Jersey Framework. Я хотел бы получить все параметры запроса или параметры матрицы и другие параметры, если они есть внутри метода, а не передавать их в качестве параметра в методе.

ответ

1

Я не нашел весеннего класса, эквивалентного UriInfo. Но мы можем взять ту же информацию из запроса httpservlet. Предположим, что URL-адрес является HTTP: локальный: 8080/услуги/тест один = 1 & два = 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

0

Если вы используете Spring MVC вы также можете получить доступ к нему с:

@Autowired 
ServletContext servletContext; 

Однако, это даст вам более ограниченный набор доступных методов, чем подход Kaliappan в.

Смежные вопросы