spring-mvcjerseyjax-rsresteasyspring-rest

What is the equivalent of @Context UriInfo in Spring Rest


I have worked in Jersey and RESTEasy framework earlier and now we will be using Spring Rest for a new project , I don't want to pass all the query params and matrix params as parameters in the method , and usually I would annotate the method with @Context UriInfo and would get all the parameters inside my method in Jersey or RESTEasy Framework for complex parameters.

I would like to know if there is any @Context UriInfo in Spring REST, which is similar to RESTEasy or Jersey Framework. I would like to get all the query params or matrix params and other params if any inside the method instead of passing them as a parameter in the method.


Solution

  • I did not find any spring class equivalent to UriInfo. But we can take same info from httpservlet request. Suppose, a url is http:localhost:8080/services/test?one=1&two=2, then,

        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
    

    You can set and use these values in URIinfo object