java rest Web服务中所有(也是可选的)查询参数的列表

时间:2018-04-26 09:12:07

标签: java rest jax-rs

我想在列表中包含所有查询参数。以及在get方法中使用 的那些。 我的方法:

@GET
@Produces({"text/csv"})
@Path("/somesearch/")
public Response method1(
        @DefaultValue("0") @QueryParam("param1") float param1,
        @DefaultValue("0") @QueryParam("param2") float param2,
        // further optional parameters... not only floats){
    ArrayList<Object> parameters = new ArrayList<Object>();
    parameters.add(param1);
    parameters.add(param2);
    // add further query parameters
    // do something ...
 }

那么是否有可能获得列表中的所有参数(甚至那些未在GET请求中设置的参数)? 我不能将@context uriInfo与其getQueryParameters()方法一起使用,因为它列出了url中使用的参数

1 个答案:

答案 0 :(得分:0)

不确定@DefaultValue注释,但如果我必须这样做,我会做到这样的事情..

 @GET
    @Produces({"text/csv"})
    @Path("/somesearch/")
    public Response method1(@Context UriInfo uriInfo){
        MultivaluedMap<String, String> multiParameters = uriInfo.getQueryParameters();
       // multiParameters contains all the parameters in key-value pairing format
     }