RESTful API规范(10条)

​ REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征性状态转移)。 它首次出现在2000年Roy Fielding的博士论文中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
1.数据的安全保障
#数据传输一般使用https协议进行传输

2.接口特征表现
#前后数据交互的接口需要在网址中写入api关键字,用于标识该地址是用于返回数据的

3.多数据版本共存
#应该将API的版本号放入URL


4.路径
#在restful规范中指出,每一个路径应当看成一个资源,例如books路径就应该看成所有的图书信息
#并且在设计路径的时候不要使用动词!

5.资源操作方式由请求决定
#我们在设计路径的时候不使用动词,这种时候我们就需要使用另外一种方式去判断该请求的目的。例如我们是对一本图书进行删除,增加等
#共有7种请求方式
常用:
GET(SELECT):从服务器取出资源(一项或多项)。
POST(CREATE):在服务器新建一个资源。
PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
DELETE(DELETE):从服务器删除资源
不常用:
HEAD:获取资源的元数据。
OPTIONS:获取信息,关于资源的哪些属性是客户端可以改变的。

6.过滤,通过在url上传参的形式传递搜索条件
#我们可以通过url放回过滤参数。例如?limit=10指的是过滤出前10条

7.响应状态码
#服务器端向客户端返回数据的时候需要添加状态码

8.错误处理,应当返回错误信息,error当做key
#服务器端对应不同的状态码应当返回对应的错误信息

9.返回结果,针对不同操作,服务器向用户返回的文档需要符合下述规范
GET /collection:返回资源对象的列表(数组)
GET /collection/resource:返回单个资源对象
POST /collection:返回新生成的资源对象
PUT /collection/resource:返回完整的资源对象
PATCH /collection/resource:返回完整的资源对象
DELETE /collection/resource:返回一个空文档

10需要url请求的可以在返回结果中返回链接
#字面意思,若是前端的代码需要url连接的话在返回的json数据中携带url。例如图片的url