URL设计
1. URL设计
1.1数据的安全保障
- url链接一般都采用https协议进行传输
- 采用https协议,可以提高数据交互过程中的安全性
1.2接口特征表现
-
用api关键字表示接口url:
-
用api关键字标识接口url:
看到api字眼,就代表该请求url链接是完成前后台数据交互的
-
1.3多数据版本共存
-
在url链接中标识数据版本
-
url链接中的v1和v2就是不同数据版本的提现(只有在一种数据资源有多版本的情况下)
1.4数据即是资源
-
接口一般都是完成前后台数据的交互的,交互的数据我们称之为资源
一般提倡用资源的复数形式,在url链接中不要出现操作资源的动词.
1.5资源操作由请求方式决定
- 操作资源一般都会涉及到增删改查,我们提供请求方式来标识增删改查动作
-
- https://api.baidu.com/books -get请求: 获取所有书
- https://api.baidu.com/books/1 -get请求: 获取主键为1的书
- https://api.baidu.com/books -post请求: 新增一本书
- https://api.baidu.com/books/1 -put请求: 整体修改主键为1的书
- https://api.baidu.com/books/1 -patch请求: 局部修主键为1的书
- https://api.baidu.com/books/1 -delete请求: 删除主键为1的书
2.响应状态码
2.1正常响应
- 响应状态码2xx
- 200: 常规请求
- 201: 创建成功
2.2重定向响应
- 响应状态码3xx
- 301: 永久重定向
- 302: 暂时重定向
2.3客服端异常
- 响应状态码4xx
- 403: 请求无权限
- 404: 请求路径不存在
- 405: 请求方法不存在
2.4 服务端异常
- 响应状态码
-
- 500: 服务器炸了(异常)
3.响应结果
3.1响应数据要有状态码,状态信息以及数据本身
"status": 0,
"msg":"ok",
"results":[
{"name":"kang"}
]
3.2需要url请求的资源需要访问资源的请求链接
"status":0,
"msg":"ok",
"results":[
{"img":"https://image.baidu.com/wangyu/1.png"}
]