REST客户端主要包括三个接口:javax.ws.rs.client.Client javax.ws.rs.client.WebTarget和javax.ws.rs.Invocation
Client接口是REST客户端的基本接口u,用于和REST服务器的通信。Client 被定义成一个重量级的对象,其内部要管理客户端通信底层实现所需的各种对象,比如连接器、解析器等。因此不推荐在应用中产生大量的Client实例,这一点需要开发者注意。该接口要求实例要有关闭连接的保障,否则会造成内存泄漏。
Client类的实现类是org.glassfish.jersey.client.JerseyClient.,创建一个Client实例是通过ClientBuilder 构造的,通常使用一个ClientConfig实例作为一个参数。在传入ClientConfig实例前,通常会注册相关的Provider和Feature,也可以设定自定义属性(键值对)
Client client = ClientBuilder.newClient();
ClientConfig clientConfig = new ClientConfig();
clientConfig.register(Myprovider.class);//注册Provider
clientConfig.register(MyFeature.class);//注册Feature
clientConfig.register(new AnotherClientFilter());//注册Filter
Client client = ClientBuilder.newClient(clientConfig);
client.property("Myproperty","Myvalue");//注册属性2、 WebTarget接口
WebTarget接口是为REST客户端实现资源定位的接口。通过WebTarget接口,可以定义请求资源的具体地址、查询参数和媒体信息类型等信息。WebTarget的接口实现类是org.glassfish.jersey.client.JerseyWebTarget