1、协议
API与用户的通信都是通过HTTPS协议进行的
2、域名
应尽量将API部署在专有域名下:https://api.example.com
如果确定API很简单,不会有什么扩展,则可以放在主域名下:https://example.org/api/
3、版本:
应将API的版本号写在URL里
4、路径:
URL的具体路径应是用名词,不应出现动词
5、HTTP的请求方法(括号里是对应的SQL命令):
常用:GET(SELECT),POST(CREATE),PUT(UPDATE),PATCH(UPDATE),DELETE(DELETE),
PUT与PATCH的区别是一个前者整体改变,后者改变局部
不常用的两个:HEAD(获取资源的元数据),OPTIONS(获取信息,关于资源的哪些属性是客户端可以改变的)
6、过滤信息:
API需要提供过滤参数,用以过滤返回结果
7、状态码:
服务器需要有向用户返回的状态码和对应的提示信息
8、错误处理:
如果出现40X错误,应该做提示信息的处理
9、返回结果:
正对不同操作,服务器返回的结果要符合以下规范:
GET /collection:返回资源对象的列表(数组)
GET /collection/resource:返回单个资源对象
POST /collection:返回新生成的资源对象
PUT /collection/resource:返回完整的资源对象
PATCH /collection/resource:返回完整的资源对象
DELETE /collection/resource:返回一个空文档
10、Hypermedia API:
API中最好做到这点,即在返回结果中提供链接,连向其他API方法,使得用户不查文档,也知道下一步应该做什么。