JAX-RS客户端WebClient的使用教程

来源:互联网 发布:千方百计医药软件 编辑:程序博客网 时间:2024/05/17 09:15

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.