restful接口规范
0902自我总结
restful接口规范
-
1.一般都采用安全协议(接口都是操作数据的):https
http协议 应用层协议 请求与响应规范:首行 - 头 - 体 特点:无状态、无连接、请求永远是客户端到服务器端、ssl 而 https协议 相对于http协议多了个ssl安全套接层 #https比http传输速度要蛮 #https比http数据更加安全
-
2.体现接口的关键字
https://api.xxx.com/books/
-
3.接口操作的数据称之为资源:采用资源名称的复数
https://api.xxx.com/books/
-
4.接口链接中不出现操作资源的动词,通过请求方式来决定操作资源的动作
get
|post
:https://api.xxx.com/books/
- get:获取所有 | post:增加一个
get
|put
|patch
|delet
:https://api.xxx.com/books/(?P<pk>)/
- get:获取一个 | put:整体修改一个(patch:局部修改一个) | delet:删除一个
-
5.资源数据有多版本时,接口可以做版本控制
https://api.xxx.com/books/v1/
https://api.xxx.com/v2/books/
-
6.资源响应的限制条件:筛选、排序、限制...
https://api.xxx.com/books/?publish=1&ordering=-price&limit=3
-
7.响应状态码
网络状态码:2xx | 3xx | 4xx | 5xx
数据状态码(自己合前端商量约定的):0 | 1 | 2
{
'status': 1,
}
-- SUCCESS(0, "查询成功")
-- NODATA(1, "非正确,无数据,显示基本信息")
-- FEAILED(2, "查询失败")
常见的网络状态码
状态码 | 说明 |
---|---|
200 | 获取或修改成功 |
201 | 新增成功 |
204 | 删除成功 |
404 | 资源不存在 |
400 | 客户请求有误 |
500 | 服务器错误 |
-
8.响应结果的信息描述:
{ 'status': 1, #状态码 'msg': 'login failed' #内容 }
-
9.响应的结果:
- get所有:所有资源
- get一个:一个资源
- post、put、patch:新增、修改的资源
- delete:不做任何返回
实际开发中最好返回消息
-
10.响应结果中有二次资源(用户头像:图片链接,用户详情:详情接口)要表明请求二次资源的接口
{ 'status': 1, #数据状态码 'msg': 'login failed' #内容 'results':[ #二次资源 { name:'xxxxx' price:'xxxx' img:'path' } ] }