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



我有一个看起来像这样的服务(wildfly 10.1):

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

使用model querquerparams:

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

是否可以以某种方式对其进行验证?

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

如果您仍然需要访问所有查询参数,则向UriInfo注入@Context并调用其getQueryParameters()以获取请求参数的MultivaluedMap

最新更新