JAX-RS客户端程序的编写–>
有两种方法:
① 使用http client工具,前提是需要自己对HTTP协议内容进行定制和解析.
② WebClient工具类的使用(CXF自带),本篇文章就围绕着该工具类的使用来展开对RS客户端编程的讲解。
使用RS WebClient需要在pom.xml文件中导入坐标
<!-- 使用CXF RS开发 -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
<version>3.0.1</version>
</dependency>
创建一个测试类:直接使用WebClient工具类中的
create方法建立与调用服务器资源路径的连接。
//create-->建立与调用服务资源路径连接
Collection<? extends User> collection = WebClient.create("http://localhost:9997/userService/user")
type发送给服务器的数据格式 –>对应@Consumes
accept接收服务器传递的数据格式 –>对应@Produces
accept和type方法是与@Produces和@Consumes两个注解一一对应的。
Collection<? extends User> collection = WebClient.create("http://localhost:9997/userService/user")
.accept(MediaType.APPLICATION_XML).getCollection(User.class);
System.out.println(collection);
getCollection(User.class)表示查询所有的User用户信息,如果单独查询某个用户用get(User.class);
完整代码:
public class RS_Client {
public static void main(String[] args) {
//create-->建立与调用服务资源路径连接
//type-->发送给服务器的数据格式-->@Consumes
//accept-->接收服务器传输的数据格式-->@Produces
//采用Http协议的哪种方式访问服务器
Collection<? extends User> collection = WebClient.create("http://localhost:9997/userService/user").accept(MediaType.APPLICATION_XML).getCollection(User.class);
System.out.println(collection);
//查询某个用户
User resultUser = WebClient.create("http://localhost:9997/userService/user/1").accept(MediaType.APPLICATION_JSON).get(User.class);
System.out.println(resultUser);
}
}
用post方法进行添加操作:
//添加用户
User user = new User();
WebClient.create("http://localhost:9997/userService/user").type(MediaType.APPLICATION_JSON).post(user);
查询用get;
修改用put;
添加用post;
删除用delete.