REST API 设计原则
这篇是我学习REST API的第二天记下的笔记,分享给大家,希望大家能学到点东西,有错误的地方也能在评论区提出来。
1. 接收并使用JSON响应
- JavaScript具有内置方法编码解码
JSON; - 几乎所有的网络技术都采用了
JSON作为传输数据的标准。
2. 在接口路径使用名字而不是动词
// bad
/getAllStudent
// good
/students
- 我们的HTTP请求方法已经有请求动词了;
- 最好还是让HTTP方法告诉我们接口的作用并使用了什么方法。
3. 允许API过滤、排序和分页数据
- 限制REST API 会返回的数据量;
- 有利于节省并避免REST API请求过多导致服务器过载。
// 例如:
/student?limit=10&offset=25
4. REST API版本
- 版本控制指示REST API功能和公开的资源;
- 版本控制通常在REST API路径的开头使用
/v1,/v2等。
// 例如:
https://school.com/v2/teacher
5. 使用缓存
- 使用缓存能够提高性能;
- 添加缓存,能够从本地缓存返回数据,而不是每次都需要查询数据库的数据;
- 需要中间件(例如redi、apicache等)处理缓存。
6. 正确的HTTP错误处理
- 如果一个错误或者异常从服务端抛出,使用HTTP调用的REST API,则会给出HTTP错误;
- REST API应妥善处理错误并向调用的客户端返回HTTP响应代码。
7. 文档化
- 在设计阶段开始构建API文档;
- 也可以使用工具帮助构建API文档(如国内的Apifox,海外的Swapper)。