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, "查询失败")
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' } ] }