java - 如何使用 RestEasy 验证冗余查询参数?

标签 java rest wildfly resteasy

我有服务(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/

相关文章:

java - 为什么 Java 不附带 CopyOnWriteMap?

java - 制作一棵树并排序它的数字

java - 在 JAX-RS 中使用 API key 进行身份验证

java - Curl 可以工作,但相应的 HttpConnection POST 请求失败,出现 400 错误

objective-c - RestKit POST 非对称 key 错误

javascript - 在 Wildfly 10 上部署 Vue.js

java - struts 2文件上传没有这样的方法异常

java - 没有 GUI 的简单 Java 计算器

jpa - Wildfly 中有多个持久性单元?

java - 如何使用 JPA - EntityGraph 只加载实体@Basic 属性的一个子集?