WebService与RESTful两种接口风格示例

WebService与RESTful两种接口风格示例_第1张图片
下面我将分别用WebService(SOAP)和RESTful API的例子来说明它们是如何工作的。

1. WebService (SOAP) 示例:

假设有一个在线计算器服务,它提供了一个加法操作的SOAP WebService。

SOAP请求(客户端到服务器):
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:web="http://www.example.com/webservice">
   <soapenv:Header/>
   <soapenv:Body>
      <web:Add>
         <web:number1>5web:number1>
         <web:number2>3web:number2>
      web:Add>
   soapenv:Body>
soapenv:Envelope>

在这个例子中,客户端通过发送一个SOAP消息来调用名为Add的远程方法,传递了两个数字5和3作为参数。

SOAP响应(服务器到客户端):
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:web="http://www.example.com/webservice">
   <soapenv:Header/>
   <soapenv:Body>
      <web:AddResponse>
         <web:result>8web:result>
      web:AddResponse>
   soapenv:Body>
soapenv:Envelope>

服务端处理完加法操作后,返回了一个包含结果(8)的SOAP消息。

2. RESTful API 示例:

再以一个提供类似功能的在线计算器服务为例,但这次是通过RESTful API来实现。

RESTful请求(客户端到服务器):
GET /add?number1=5&number2=3 HTTP/1.1
Host: api.example.com

在这个例子中,客户端发送了一个HTTP GET请求,通过查询参数传递了两个数字5和3。

RESTful响应(服务器到客户端):
HTTP/1.1 200 OK
Content-Type: application/json

{"result": 8}

服务端处理完加法操作后,返回了一个HTTP 200 OK响应,包含了一个JSON格式的结果。

总结:

在SOAP WebService例子中,客户端和服务端通过交换XML格式的SOAP消息进行通信,请求和响应都遵循SOAP协议的格式。

在RESTful API例子中,客户端通过标准的HTTP方法(在这个例子中是GET)和URL进行通信,传递参数和接收结果都是通过HTTP协议的标准机制(如查询参数、状态码和消息体)完成的。数据通常以JSON格式传输,使其更加简洁和易于解析。

你可能感兴趣的:(I6000系统成长记,我的成长之路,restful,后端,WebService接口示例,RESTful接口示例)