java – 在ClientRequestFilter中附加查询参数
作者:互联网
我只需要将查询参数附加到传出请求上. (Java EE 7.0,JAX-RS 2.0)
具体来说,我目前使用RESTeasy Client ver 3.0.14,所以我使用花哨的接口代理系统进行调用.我试图产生这样的东西:
所有MyApplication / API /路径?时间戳= 000
有:
@Provider
public class MyRequestFilter implements ClientRequestFilter {
@Context
private HttpServletRequest servletRequest;
public void filter(ClientRequestContext requestContext) throws IOException {
servletRequest.getParameterMap().put("timestamp", new String[]{
String.valueOf(new Date().getTime())
});
}
}
我确保我也用client.register(MyRequestFilter.class)注册它.随意问的问题.谢谢!
解决方法:
归功于@peeskillet –
从requestContext重建URI,如下所示:
requestContext.setUri(UriBuilder.fromUri(requestContext.getUri()).queryParam("key", value).build());
您现在可以看到新的查询参数
requestContext.getUri().toString();
再次,验证您在制作REST客户端时注册它
client.register(MyRequestFilter.class);
标签:java,java-ee,jax-rs,resteasy,java-ee-7 来源: https://codeday.me/bug/20190527/1166471.html