JAX-RS:ClientRequestFilter的非程序化注册

时间:2015-07-22 16:31:36

标签: web-services java-ee jersey jax-rs resteasy

我想使用ClientRequestFilter修改我的应用程序的传出REST请求,而不用更改源代码。

到目前为止,我只找到了以编程方式注册过滤器的方法:

   Client client = ClientBuilder.newClient(); 
   client.register(new MyClientRequestFilterImpl());
   webtarget =  client.target(uriBuilder);

是否可以使用web.xml或类似的?

1 个答案:

答案 0 :(得分:0)

据我所知,没有这种方法,但您可以自己轻松读取配置文件。假设有以下文件:

com.foo.bar.Filter1
com.foo.bar.Filter2

您可以像这样注册过滤器:

List<String> filters = Files.readAllLines(Paths.get(new URI("/your/config/file")), Charset.forName("UTF-8"));
Client client = ClientBuilder.newClient();
for (String filter : filters) {
    client.register(Class.forName(filter));
}