day 70
day 69 drf
01接口;接口的概念、数据接口文档、接口规范(restful)
- django restfarmework
- drf是django的插件
- 安装
- pip3 install djangorestfarmework
- 使用drf时要在settings中注册
01接口
- 什么是接口;规定了提交请求参数的请求方式、访问器可以获取响应的反馈数据的url连接
- 四部分;url连接+请求方式+请求参数+响应数据
- 满足了同样的接口规范,无论前后端是什么语言,和数据处理方式,都可以进行交互
02文档
03restful接口规范
-
url连接
- 接口都是操作前后台数据,所以需要保证数据的安全性,最好采用https协议
- 接口用来操作数据,与网址有区别,所以用特定的关键字表示接口,api
https://api.baidu.com
https://www.baidu.com/api
- 接口操作的数据称之为资源,在url中只体现资源名词,不体现操作资源的方式 动词
- 常规资源接口;
https://api.baidu.com/books/
https://api.baidu.com/books/(pk)/
- 非常规接口;和某资源不是特别密切或是不是一种资源
https://api.baidu.com/login/
https://api.baidu.com/place/search/
- 常规资源接口;
- 如果一个资源存在多版本结果,在url连接中要用特定符号来兼容多版本共存
v1/v2
;https://api.baidu.com/v1/books/
https://api.baidu.com/v2/books/
- 群资源操作一般还有额外的限制条件,如排序、限制条数、分页等等
- 采用?限制条件;
https://api.baidu.com/books/?ordering=-price&limit=3
- 采用?限制条件;
-
请求方式
- 五大请求方式;get、post、put、patch、delete
- get;获取单个或多个资源
https://api.baidu.com/books/
https://api.baidu.com/books/(pk)/
- post;新增单个或多个资源
https://api.baidu.com/books/
- 单增,提交单个数据字典,完成单增,返回单个结果对象
- 群增,提交多个数据字典,完成多增,返回多个结果对象
- put;整体修改单个或多个资源
- 整体修改多个,提供多个数据字典的数组(数据字典中要包含主键),完成修改,返回多个结果对象
- 整体修改单个,提供单个数据字典(主键在url中体现)完成单改,返回单个结果对象
- patch;局部修改单个或多个资源
- 方式与put请求相同吗,不同点;操作的资源如果有5个key-value键值对,put请求提供的字典必须报包含所有的键值资源,patch只需要携带需要修改的资源
- delete;删除单个或多个资源
- 多删,提供多个资源的主键数据,完成群删,
- 单删,不许要提供额外的数据资源,
- 不需要返回资源,但一般返回结果消息
- get;获取单个或多个资源
- 五大请求方式;get、post、put、patch、delete
-
响应结果
-
响应对象中要包含网络状态吗(网络状态信息与网络状态码是捆绑出先的)
- 1XX;基本信息
- 2XX;成功 200基本 201新增成功
- 3XX;重定向
- 4XX;客户端错误
- 5XX;服务端错误
-
数据状态码(一般是后台规定的)
- 0;成功
- 1;失败 - 1XX;具体失败信息(要在接口文档中写明)
- 2;无数据 - 2XX;具体无数据信息(要在接口文档中写明)
- 数据状态吗的信息(一般不仅仅是对数据状态吗的解释,更多是对结果的描述,给前台开发者阅读)
-
数据结果(常量,数组,字典),如果有子资源(图片,音频,视频),返回资源的url连接
{ "status": 0, 'msg':'ok', 'results':[{ 'name': '西游记', 'img': 'https://api.baidu.com/media/book/xyj.png' },{}] }
-