我有服务(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
有没有办法以某种方式验证它?
答案 0 :(得分:1)
如果您没有使用@QueryParam
注释任何字段或方法参数,那么这些额外的参数不是您的问题,最好只处理您对资源的预期参数。
如果您仍然需要访问所有查询参数,请使用UriInfo
注入@Context
并将其调用getQueryParameters()
以获取MultivaluedMap
个请求参数< / p>