1、协议: 通常我们需要使用HTTPS协议
2、域名: 将服务部署在专用api服务的域名下,开一个二级域名
3、版本: 应当将开发版本放到相关的url上。http://api.wuye24.com/v1/
4、路径:应当利用名称复数,同一获取资源。表示相关的集合
5、HTTP相关动词:通过不同的动词来区分相关获取资源的不同:
HTTP常用动词
-
GET(SELECT):从服务器取出资源
-
POST(CREATE or UPDATE):在服务器创建资源或更新资源
-
PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)
-
PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)
-
DELETE(DELETE):从服务器删除资源
-
HEAD:获取资源的元数据
-
OPTIONS:获取信息,关于资源的哪些属性是客户端可以改变的、
示例
-
GET /students:获取所有学生
-
POST /students:新建学生
-
GET /students/id:获取某一个学生
-
PUT /students/id :更新某个学生的信息(需要提供学生的全部信息)
-
PATCH /students/id:更新某个学生的信息(需要提供学生变更部分信息)
-
DELETE /students/id:删除某个学生
6、信息过滤:可以采用相关的参数来进行过滤
?page=2&per_page=20
7、状态码:给用户返回的时候返回相关的错误码
2xx: 成功处理
3xx:重定向
4xx:客户端错误
5xx:服务端的错误
8、错误要处理:如果状态码是4xx,就应该向用户返回出错信息。一般来说,返回的信息中将error做为键名
9、返回结果:请求不同,需要返回出结果要合符规范:
-
GET /sutdents:返回资源对象的列表(数组,集合)
-
GET /collection/id:返回单个资源对象
-
POST /collection:返回新生成的资源对象
-
PUT /collection/id:返回完整的资源对象
-
PATCH /collection/id:返回完整的资源对象
-
DELETE /collection/id:返回一个空文档
10、需要连接关联资源:
需要提供相关的连接,连接其他的API方法,在不用查文档也可以知道下一步的动作。