Resteasy如何查询update/add参数?

Resteasy how to update/add query parameter?

在 Resteasy 的旧版本[3.0.7] 中,我们可以更新查询参数

requestContext.getUriInfo().getQueryParameters()
                        .add("limit", recordLimit);

但是在使用 [3.5.1] 版本更新后,上面的代码将针对 UnmodifiableMultivaluedMap

抛出错误

然后尝试写这段代码

UriBuilder  uriBuilder = requestContext.getUriInfo().getRequestUriBuilder();
uriBuilder.queryParam("limit", recordLimit);

以及下面的代码

UriBuilder  uriBuilder = requestContext.getUriInfo().getRequestUriBuilder();
uriBuilder.matrixParam("limit", recordLimit);

有人可以解释一下更新查询参数的正确方法吗?

编辑 1:即使这样也行不通

UriBuilder  uriBuilder = requestContext.getUriInfo().getRequestUriBuilder();
uriBuilder.replaceQueryParam( "limit", recordLimit);

最后我找到了解决方案,在旧版本中我们正在做类似的事情来动态添加查询参数

requestContext.getUriInfo().getQueryParameters()
                        .add("limit", recordLimit);

但在 3.5.1 版本中它是一个 MultiMap,所以上面的场景不允许,所以这里是实现这个的新方法

UriBuilder  uriBuilder = requestContext.getUriInfo().getRequestUriBuilder() ;
uriBuilder.queryParam("limit", recordLimit);
requestContext.setRequestUri(uriBuilder.build());