如何使用RestEasy验证冗余查询参数?

时间:2017-09-28 10:48:32

标签: java rest wildfly resteasy

我有服务(WildFly 10.1),看起来像这样:

 @GET
 @Path("/retrieve")
 public Response getModels(@BeanParam ModelQueryParams queryParams) {
  return getModels();
 }

使用ModelQueryParams:

public class ModelQueryParams{

    @QueryParam("offset")
    private Long offset;

    @QueryParam("limit")
    private Long limit;
}

因此用户可以调用端点,如:

/retrieve?offset=100&limit=4

但是,当用户传入查询错误参数时,如何验证案例?

/retrieve?offset=100&limit=4&WRONG_PARAMETER=55

有没有办法以某种方式验证它?

1 个答案:

答案 0 :(得分:1)

如果您没有使用@QueryParam注释任何字段或方法参数,那么这些额外的参数不是您的问题,最好只处理您对资源的预期参数。

如果您仍然需要访问所有查询参数,请使用UriInfo注入@Context并将其调用getQueryParameters()以获取MultivaluedMap个请求参数< / p>