分布式.RPC-WebService Restful风格实现(理解不同的WebService)

发布于:2023-01-09 ⋅ 阅读:(275) ⋅ 点赞:(0)

 系列博文:

分布式.RPC调用-RMI & Hessian框架_闲猫的博客-CSDN博客

分布式.RPC-WebService三要素,三个规范, Soap协议_闲猫的博客-CSDN博客

分布式.RPC-WebService入门案例(java实现,注解实现,xsd文件解析,wsdl文件解析)_闲猫的博客-CSDN博客

分布式.RPC调用-RMI & Hessian框架_闲猫的博客-CSDN博客

分布式.RPC-WebService CXF框架_闲猫的博客-CSDN博客

分布式.RPC-WebService Restful风格实现_闲猫的博客-CSDN博客


目录

入门案例

服务端:

客户端:

获取列表的处理

获取列表

提交数据

提交列表

产生获取JSON数据

CXF与spring整合开发REST风格webservice

HttpClient调用REST风格webservice

获取会员信息

获取会员列表

 提交会员信息


入门案例

服务端:

步骤:

  1. 创建java工程,引入cxf的jar包
  2. 测试
  3. 发布服务
  4. 编写服务类
  5. 编写实体类

实现:

1. 创建java工程,引入cxf的jar

2. 编写实体类

        

        实体类添加@XmlRootElement可以自动将实体类转换为XML或json,如果不添加此注解,将会出现下列错误。

        

3.  编写服务类

        

 4. 发布服务

        

 5. 测试

        

客户端:

1. 创建java工程,引入cxf的jar

2. 创建实体类(和服务端相同)

注意:同样的也必须加注解@XMLRootElement,如果没加注解就报如下错误:

javax.ws.rs.client.ClientException: .No message body reader has been found for class : interface java.util.Collection, ContentType : application/xml.

3. 编写代码获取结果

        

         还可以这样写:

        

获取列表的处理

获取列表

服务端:

        只需要将返回值给成列表即可,不需要其他特殊处理。

         

测试:

        使用的地址类似单个对象一样,没什么特殊的。

        

客户端:

        获取是的方法变了,有get(class) 变成了getCollection(class)

        

提交数据

服务器:

        

客户端:

        

提交列表

服务器:

        

 客户端

              

        或者:

        

 测试:

       客户端的两个提交方式都没问题,但因为ArrList没有注解就导致无法编为xml格式的数据,就报一下错误:

javax.ws.rs.client.ClientException: .No message body writer has been found for class : class java.util.ArrayList, ContentType : application/xml.

解决:

       暂时没有解决方案。

产生获取JSON数据

服务端:

        

 测试结果:

        

         

 客户端:

        

CXF与spring整合开发REST风格webservice

步骤:

1. 创建web工程 ,添加cxf的jar包  applicationContext.xml 

2. 修改web.xml  添加spring监听和cxfservlet

3. 创建dao和实体类(注意添加注解)

4. 编写服务类

5. 编写applicationContext,xml

      

 6. 测试

        

HttpClient调用REST风格webservice

获取会员信息

        

         

我们需要构建一个与json字符串结构相同的实体类来接收结果

FASTJSON特点:

获取会员列表

        

编写实体类,有集合类型的属性,用来接收集合类型的结果

        

        

 提交会员信息

        


END 


网站公告

今日签到

点亮在社区的每一天
去签到

热门文章