我如何获取Jersey JaxRS中的所有查询参数?
我正在构build一个通用的Web服务,并需要将所有的查询参数获取到一个string,以供以后parsing。 我怎样才能做到这一点?
你可以通过@QueryParam("name")
或者通过上下文访问所有参数来访问一个参数:
@POST public Response postSomething(@QueryParam("name") String name, @Context UriInfo uriInfo, String content) { MultivaluedMap<String, String> queryParams = uriInfo.getQueryParameters(); String nameParam = queryParams.getFirst("name"); }
关键是@Context
jax-rs注释 ,它可以用来访问:
UriInfo,Request,HttpHeaders,SecurityContext,Providers
请求URI的未分析的查询部分可以从UriInfo
对象获得:
@GET public Representation get(@Context UriInfo uriInfo) { String query = uriInfo.getRequestUri().getQuery(); ... }