如何使用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
参数