RESTful API设计需遵循统一接口、无状态和资源导向原则,以下是关键细节:
1. 资源命名规范 🐾
- 使用名词表示资源(如
/users
而非/user_list
) - 避免重复层级(如直接使用
/users/{id}
替代/user/123
) - 示例:
✅/products
(商品列表)
❌/product_list
(违反REST精神)
2. HTTP方法映射 🗂️
方法 | 用途 | 示例 |
---|---|---|
GET |
获取资源 | /api/v1/users |
POST |
创建资源 | /api/v1/users |
PUT |
更新资源 | /api/v1/users/{id} |
DELETE |
删除资源 | /api/v1/users/{id} |
提示:使用
PATCH
实现部分更新,避免全量替换
3. 状态码使用准则 📊
- 成功响应:
200 OK
(获取资源)201 Created
(创建成功)
- 客户端错误:
400 Bad Request
(参数错误)404 Not Found
(资源不存在)
- 服务器错误:
500 Internal Server Error
(系统异常)
4. 请求参数设计 📦
- 查询参数:用于过滤(如
/users?role=admin
) - 请求体:用于创建/更新(
POST
/PUT
) - 路径参数:唯一标识资源(如
/users/{id}
)
5. 版本控制建议 🔄
- 推荐在URL中显式声明版本(如
/api/v1/users
) - 避免使用请求头(如
Accept: application/vnd.myapi.v1+json
) - 版本迁移时需保持兼容性
6. 安全性实践 🔒
- 必须启用 HTTPS(
https://
前缀) - 使用 JWT 实现认证授权
- 对敏感字段进行加密传输(如密码)
- 设置合理的CORS策略
深入学习RESTful设计可参考:/RESTful_API_Best_Practices
7. 扩展阅读 📚
注:所有示例均基于中文语境,如需英文版请访问 /en/RESTful_API_Design_Details