API
API,全称是 Application Programming Interface,翻译过来就是'应用程序编程接口'。
1. 技术细节和示例代码
API 通常由端点(URL)、方法(GET、POST 等)和数据格式(JSON、XML 等)组成。这里主要指网络 API(Web API),即通过网络请求和响应进行通信的 API。
示例:调用天气 API 获取天气数据:
import requests
response = requests.get("http://api.weatherapi.com/v1/city?key=aaaaaa&q=Shanghai")
data = response.json()
print(data)
2. API 的作用和应用场景
API 的作用是让不同的软件系统能够互相对话,比如你的手机 APP 可以通过 API 获取新闻信息,或者一个银行网站通过 API 处理支付。
Web Service
Web Service 就是通过网络进行的服务,允许不同的应用程序通过网络互相通信。它们使用标准的 XML 消息格式,可以在不同的平台和语言之间进行通信。
1. 技术细节和示例代码
Web Service 通常使用 SOAP 协议或 REST 架构。示例:使用 SOAP 请求天气信息
POST /weather HTTP/1.1
Host: www.example.com
Content-Type: text/xml; charset=utf-8
Content-Length: nnn
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body>
<m:GetWeather xmlns:m="http://www.example.org/weather">
<m:City>London</m:City>
</m:GetWeather>
</soap:Body>
</soap:Envelope>
2. Web Service 的类型
SOAP Web Service:使用 SOAP 协议,比较复杂但功能强大。 RESTful Web Service:使用 HTTP 协议,更简单灵活。
3. Spring Boot 环境中实现方式
在 SOAP 的实现中,Spring Web Services(Spring WS)和 Java API for XML Web Services(JAX-WS)是两种主要的技术选择。
- Spring WS:专为简化 SOAP Web Services 的开发而设计的,提供了一种创建文档驱动、基于 SOAP 的服务的方式,特别适合需要深度集成和复杂配置的企业级应用。
- JAX-WS:遵循 WS-* 标准的更为基础和轻量级的 Java API,适用于需要标准 Java 支持且配置较少的场景。
@WebService 注解来自 JAX-WS 标准,它是一个专门用于创建 SOAP Web 服务的 API。这种方法通常用于实现符合 WS-* 标准的 Web 服务,并且是 Java EE 规范的一部分。
@Endpoint 注解来自 Spring Web Services 项目,它专门用于处理 SOAP Web 服务的开发。Spring WS 不依赖于企业 Java 的标准,而是建立在 Spring 框架的基础之上,提供更灵活的配置和更好的集成。
REST API
REST 代表'表现层状态转化',是一种架构风格,而不是协议,强调资源的表示和状态的转移,REST API 就是遵循这种风格设计的 API。使用现有的 HTTP 协议,不需要额外的协议。
1. 技术细节和示例代码
REST API 使用 HTTP 协议进行通信,常用 JSON 格式传输数据。示例:GET 请求获取用户信息
import requests
response = requests.get()
user = response.json()
(user)


