接口介绍和规范
1 相关协议
http协议:
1、应用层协议
2、请求响应的协议
请求首行
请求头
(注意一行)
请求题
特点:
无状态、无连接、加上ssl协议(加密有安全,速度慢)变成https协议
请求是客户端主动发起的,服务端不能主动发起请求,有请求肯定有相应(不管对错)
uwsgi协议:
原生django启动项目--启动了server socket,wsgiref(本地用),上线后用uwsgi
规定数据的解析方式:get数据、post数据、文件数据都放在请求对象中(request),然后交给回调的视图函数,然后返回响应对象(HTTPResponse类对象),对象中包括数据、响应状态码
2 接口介绍
接口只传数据,分为三部分
1 请求链接
2 请求参数和请求方法
3 请求结果 (result | data)
restful接口规范
1 一般采用HTTPS协议(安全)
2 体现接口的关键字:api
在接口连接中加api
https://api.baidu.com/login
3 接口操作数据称之为资源:采用名词,一般采用名词复数
https://baidu.com/book
4 接口链接中不出现操作资源的动词,通过请求方式来决定操作资源的动作
https://baidu.com/books
1 get
获取数据
2 post
提交数据,新增一个
3 put
修改一个(提交所有数据)
4 delete
删除
5 patch
修改一个(只提交修改的数据)
5 版本控制
https://baidu.com/login/v1 或
https://baidu.com/v2/login
6 资源响应的限制条件:筛选、排序、权限
https://baidu.com/books/?id=1&oder=price&limit=3
7 响应状态码
网络状态码:
2xx
3xx
4xx
5xx
数据状态码:
自定义状态码
例如:
1 成功
0 失败
2 权限不够
8 响应结果的信息描述
{
"status":0,
"msg": "ok,(请求成功)" # 这个就是响应信息的描述
}
9 响应的结果
{
"status": 1,
"msg": "ok",
"result": [] # 这个就是响应结果,是序列化后的结果
}
注:各个方法的响应结果
get:
一个资源
post、put、patch:
新增或者修改后的资源
delete:
资源为空
10 响应的结果中有二次资源,需要标明二次资源接口
例如:
图片:图片链接
详情:是详情的id
注: 通过接口的文档告诉前台必要和选填参数
接口文档工具:
小幺鸡。。。