Java 我可以用web.xml设置Jersey客户端的配置吗
在我的应用程序中,我有Jersey服务器和Jersey客户端的配置类。Java 我可以用web.xml设置Jersey客户端的配置吗,java,jakarta-ee,jersey,jax-rs,web.xml,Java,Jakarta Ee,Jersey,Jax Rs,Web.xml,在我的应用程序中,我有Jersey服务器和Jersey客户端的配置类。 服务器的配置是从ResourceConfig扩展而来的类,我用web.xml应用它 <init-param> <param-name>javax.ws.rs.Application</param-name> <param-value>blah.blah.core.jersey.config.JerseyServerConfig</param-value&g
服务器的配置是从ResourceConfig扩展而来的类,我用web.xml应用它
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>blah.blah.core.jersey.config.JerseyServerConfig</param-value>
</init-param>
我要做的是将此JerseyClientConfig应用为所有已创建客户端的默认配置(不希望每次构造客户端istance时都创建配置实例)。是否可以像在服务器配置中那样在web.xml中设置它?
我在官方文档中没有找到任何关于它的信息。您可以为injected
客户端这样做
/WebTarget
,请查看文章以了解如何操作。注入的WebTarget
看起来像:
@Path("resource")
public class MyResource {
@Uri("http://example.com")
private WebTarget target;
@GET
public String sayHello() {
return target.request().get(String.class);
}
}
否则,如果您想自己创建客户机实例,则只能使用JAX-RS应用程序的配置(因此没有真正的自定义配置):
注意:在这个用例中,您的客户端将拥有服务器端的所有适用配置。最后一个配置就是我想要的。非常感谢。
@Path("resource")
public class MyResource {
@Uri("http://example.com")
private WebTarget target;
@GET
public String sayHello() {
return target.request().get(String.class);
}
}
@Path("resource")
public class MyResource {
@Context
private Configuration config;
@GET
public String sayHello() {
return ClientBuilder
.newBuilder()
.withConfig(config)
.target("http://example.com")
.request().get(String.class);
}
}