我有服务(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
有办法以某种方式验证它吗?
最佳答案
如果您没有任何用 @QueryParam
注释的字段或方法参数,那么这些额外的参数不是您的问题,最好只处理您期望的资源参数。
如果您仍然需要访问所有查询参数,则注入(inject) UriInfo
与 @Context
并将其称为 getQueryParameters()
获得 MultivaluedMap
请求参数数量
关于java - 如何使用 RestEasy 验证冗余查询参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46467272/