如何在 Jersey JaxRS 中获取所有查询参数?
我正在构建一个通用的Web服务,需要将所有查询参数抓取到一个字符串中,以便以后解析。我该怎么做?
我正在构建一个通用的Web服务,需要将所有查询参数抓取到一个字符串中,以便以后解析。我该怎么做?
您可以通过上下文访问单个参数或所有参数:@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");
}
关键是 jax-rs 注释,它可用于访问:@Context
UriInfo, Request, HttpHeaders, SecurityContext, Providers
可以从对象获取请求 URI 的未分析查询部分:UriInfo
@GET
public Representation get(@Context UriInfo uriInfo) {
String query = uriInfo.getRequestUri().getQuery();
...
}