我有一个看起来像这样的服务(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