返回主页 学习路径
RESTful API
资源为中心 · 无状态 · 统一接口
REST(Representational State Transfer)是由 Roy Fielding 于 2000 年在博士论文中提出的架构风格。RESTful API 是遵循 REST 原则的 Web API 设计规范,以资源为中心,使用 HTTP 方法(GET、POST、PUT、DELETE)操作资源。RESTful API 是 Web 服务、移动应用后端、微服务架构中最常用的 API 设计标准。理解 RESTful 设计原则是每个后端开发者的必修课。
API 设计标准 · 微服务核心
📅 诞生时间2000年 · Roy Fielding
🧩 架构风格架构风格 · 资源导向
📊 数据格式HTTP / JSON
⚡性能
8/10
📦生态
10/10
🧠易用
9/10
🚀扩展性
8/10

📑 本文目录

📌 第一部分:RESTful API 概览与定位

1.1 定义与全称

REST(Representational State Transfer,表述性状态转移)是由 Roy Fielding 于 2000 年在博士论文中提出的架构风格。RESTful API 是遵循 REST 原则的 Web API 设计规范,以 资源为中心,使用 HTTP 方法操作资源。

1.2 核心定位

RESTful API 的核心定位是 Web 服务的标准化设计风格。它提供了:

1.3 主要应用领域

1.4 知名案例


⚙️ 第二部分:REST 核心原则

2.1 资源(Resource)

2.2 HTTP 方法

2.3 状态码

2.4 URI 设计规范

# 好的 URI 设计
GET    /users              # 获取用户列表
GET    /users/123          # 获取单个用户
POST   /users              # 创建用户
PUT    /users/123          # 更新用户
DELETE /users/123          # 删除用户

# 关系资源
GET    /users/123/orders   # 获取用户的订单
GET    /users/123/orders/456 # 获取用户的某个订单

# 过滤/分页/排序
GET    /users?page=1&limit=20
GET    /users?sort=created_at&order=desc
GET    /users?age=18&status=active

# 搜索
GET    /users?q=john

# 字段选择
GET    /users?fields=id,name,email

# 嵌套资源
GET    /users/123/orders/456/items

2.5 无状态(Stateless)


📝 第三部分:API 设计最佳实践

3.1 请求/响应格式

// 请求示例
GET /api/v1/users/123 HTTP/1.1
Host: api.example.com
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Accept: application/json

// 成功响应
{
    "code": 0,
    "data": {
        "id": 123,
        "name": "Alice",
        "email": "alice@example.com",
        "created_at": "2024-01-15T10:30:00Z"
    },
    "message": "success"
}

// 分页响应
{
    "code": 0,
    "data": {
        "items": [...],
        "pagination": {
            "page": 1,
            "limit": 20,
            "total": 150,
            "pages": 8
        }
    },
    "message": "success"
}

// 错误响应
{
    "code": 40001,
    "message": "Invalid email format",
    "errors": [
        {
            "field": "email",
            "message": "Email is required and must be valid"
        }
    ]
}

3.2 版本管理

3.3 认证与授权

3.4 限流(Rate Limiting)

3.5 文档(API Documentation)


⚖️ 第四部分:RESTful vs GraphQL

对比项 RESTful GraphQL
数据获取固定端点按需查询
过/欠获取可能不会
版本管理URL 版本Schema 演进
缓存HTTP 缓存需要自定义
学习曲线平缓较陡
适用场景通用 API复杂数据查询

4.1 选择建议


🧠 第五部分:学习建议

1
基础入门

REST 核心原则、HTTP 方法、状态码、URI 设计

2
设计实践

请求/响应格式、认证授权、错误处理、版本管理

3
工具与文档

Postman、Swagger/OpenAPI、限流、缓存策略

4
高级方向

GraphQL 对比、微服务 API 网关、API 安全

推荐学习资源


🎯 总结升华

RESTful API 是 Web 服务的"世界语"。

它用 资源、HTTP 方法、状态码 构建了一套简单、统一、可扩展的 API 设计标准。无论你使用什么编程语言或框架,RESTful 都是 API 开发的首选风格。

掌握 RESTful API 设计,意味着你能 构建清晰、可维护、易使用的 Web API

"好的 API 设计让调用者感到愉悦。" 📡

🔖 相关标签
#API 设计 #REST #HTTP #微服务 #Swagger #GraphQL #Web 服务
📄 本文档为 RESTful API 完整白皮书 · 最后更新于 2026年06月28日