如何使用RestEasy验证冗余查询参数?它看起来像

问题描述:

我有服务(WildFly 10.1):如何使用RestEasy验证冗余查询参数?它看起来像

@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 

有没有办法验证它?

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

如果您仍然需要访问所有的查询参数,然后注入UriInfo@Context,并调用它的getQueryParameters()得到的请求MultivaluedMap参数