RESTful 接口规范
REST 架构风格的 Web 服务接口设计规范
问题
RESTful 接口规范是什么?如何设计符合规范的接口?
解答
RESTful 接口规范是一种基于 REST(Representational State Transfer)架构的 Web 服务接口设计风格。
资源(Resources)
将系统中的所有事物视为资源,每个资源通过唯一的 URL 标识。
GET /api/users/123
GET /api/articles/456
统一接口(Uniform Interface)
使用标准的 HTTP 方法操作资源:
GET /api/users # 获取用户列表
POST /api/users # 创建用户
GET /api/users/123 # 获取指定用户
PUT /api/users/123 # 更新用户
DELETE /api/users/123 # 删除用户
使用标准 HTTP 状态码表示结果:
// 200 - 成功
// 201 - 创建成功
// 400 - 请求错误
// 404 - 资源不存在
// 500 - 服务器错误
使用合适的 MIME 类型传输数据:
Content-Type: application/json
无状态(Stateless)
每个请求包含完整信息,服务器不保存客户端状态:
// 每次请求都携带认证信息
fetch('/api/users', {
headers: {
'Authorization': 'Bearer token123'
}
});
客户端-服务器分离
客户端和服务器通过标准接口交互,可独立演化。
可缓存性(Cacheability)
对不常变化的数据使用缓存:
Cache-Control: max-age=3600
ETag: "abc123"
关键点
- 使用 URL 标识资源,用 HTTP 方法表示操作(GET/POST/PUT/DELETE)
- 每个请求包含完整信息,服务器不保存客户端状态
- 使用标准 HTTP 状态码(200/404/500)和 JSON 格式传输数据
- 合理使用缓存机制提升性能
- 客户端和服务器通过统一接口分离,便于独立演化和系统集成
目录