【问题标题】:How to validate redundant query parameters with RestEasy?如何使用 RestEasy 验证冗余查询参数?
【发布时间】:2018-03-10 02:04:55
【问题描述】:

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

有没有办法验证它?

【问题讨论】:

    标签: java rest wildfly resteasy


    【解决方案1】:

    如果您没有任何带有 @QueryParam 注释的字段或方法参数,那么这些额外的参数不是您的问题,最好只处理您期望的资源参数。

    如果您仍需要访问所有查询参数,则将UriInfo 注入@Context 并调用它的getQueryParameters() 以获取MultivaluedMap 的请求参数

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-13
      • 2013-05-20
      相关资源
      最近更新 更多