REST API #
什么是 REST API? #
REST(Representational State Transfer,表述性状态转移)是一种软件架构风格,由 Roy Fielding 在 2000 年提出。RESTful API 是遵循 REST 架构原则设计的 Web API,它使用标准的 HTTP 方法操作资源,实现简洁、统一、可扩展的接口设计。
核心特点 #
| 特性 |
说明 |
| 资源导向 |
以资源为核心,URL 表示资源 |
| 统一接口 |
使用标准 HTTP 方法 |
| 无状态 |
每个请求包含所有必要信息 |
| 可缓存 |
响应可被缓存提高性能 |
| 分层系统 |
支持中间层和负载均衡 |
文档结构 #
本指南按以下结构组织,循序渐进地帮助你掌握 REST API 设计:
1. 入门基础 #
2. 核心概念 #
3. 进阶功能 #
4. 安全与最佳实践 #
5. 高级主题 #
学习路径 #
入门阶段(REST 新手) #
- 了解 REST 的基本概念和六大约束
- 理解资源导向设计思想
- 掌握 URI 设计规范
- 学习 HTTP 方法的正确使用
进阶阶段(REST 熟练) #
- 掌握状态码的正确使用
- 学会 API 版本管理
- 实现分页和过滤功能
- 设计友好的错误响应
高级阶段(REST 专家) #
- 实现 API 安全机制
- 应用 HATEOAS 原则
- 优化 API 性能
- 设计大规模 API 架构
RESTful vs 传统 API #
| 特性 |
RESTful API |
传统 RPC API |
| URL 设计 |
名词(资源) |
动词(操作) |
| 操作表达 |
HTTP 方法 |
URL 中体现 |
| 状态管理 |
无状态 |
有状态 |
| 可缓存性 |
良好 |
较差 |
| 可扩展性 |
优秀 |
一般 |
| 学习成本 |
统一标准 |
各不相同 |
快速开始 #
RESTful API 示例 #
GET /users # 获取用户列表
GET /users/123 # 获取指定用户
POST /users # 创建用户
PUT /users/123 # 更新用户(完整)
PATCH /users/123 # 更新用户(部分)
DELETE /users/123 # 删除用户
请求响应示例 #
GET /users/123 HTTP/1.1
Host: api.example.com
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": 123,
"name": "张三",
"email": "zhangsan@example.com",
"createdAt": "2025-01-15T10:30:00Z"
}
应用场景 #
| 场景 |
描述 |
| Web 应用 |
前后端分离架构 |
| 移动应用 |
iOS/Android 后端服务 |
| 微服务 |
服务间通信 |
| 第三方集成 |
开放 API 平台 |
资源推荐 #
更新日志 #
- 2026-03-29:创建初始版本,包含完整的 REST API 学习大纲
继续探索本指南,逐步掌握 REST API 设计技术,从新手成长为 API 设计专家!