MON.DRF 入门规范
Web 开发模式
-
前后端不分离 – 混合开发模式
-
前后端分离 – 后端开发模式
1、提高开发效率
2、降低软件设计的耦合度
- 通过后端提供的接口,给不同类型的客户端传递数据
3、提高处理复杂业务的能力
API接口
- 通过网络,规定了前后台信息交互规则的url链接,也就是前后台信息交互的媒介
1、长得像返回数据的url链接
2、请求方式:get、post、put、patch、delete
3、请求参数:json或xml格式的key-value类型数据
4、响应结果:json或xml格式的数据
POSTMAN使用
- 接口测试工具
POST 请求携带的请求体的编码格式
1、urlencoded - 默认情况
- 请求体中格式:name=egon&age=18 --> resquest.POST
2、formdata - 上传文件
-上传文件
-既可以传文件,又可以带数据
-在请求体中是:
数据部分
name=egon&age=18 ----> request.POST
文件部分
---asdfasdfasdfasdf-------
文件的二进制 ----> request.FILES
3、json
- json 格式直接放在请求体中
- 请求体格式 -- {'name': 'lqz', 'age': 18},request.POST 取不到值
- 如果传的是文件 body 体中无法打印输出
'''因此 json 格式需要自己处理'''
补充
1、通过 URL 发送的都是 GET 请求
2、request.GET.get() # 获取最后一个值
3、request.GET.getlist() # 获取列表中的所有值
Restful 规范
- Restful 是一种定义 API 接口的设计风格,油漆适用于前后端分离的应用模式中
- 公司可以自己制定规范,基本上大差不差
1、保证数据安全,通常使用 HTTPS 进行交互
2、接口中带 API 关键字标识,以此识别
3、URL 链接中带接口版本号,多数据版本共存
4、数据即是资源,均使用名词,可使用复数,地址中尽量不带操作资源的动词
5、资源操作由请求方式决定
6、在 URL 中带搜索、过滤、排序条件
7、响应带状态码 **
- 201、301、302、403、404、500
- 公司自己定制 -- code: 1000
8、响应的 json 格式中带错误信息
- {'code':1000, 'msg': 404}
9、针对不同操作,服务器想用户返回的结果应该符合以下规范
- GET /collection:返回资源对象的列表(数组)
- GET /collection/resource:返回单个资源对象
- POST /collection:返回新生成的资源对象
- PUT /collection/resource:返回完整的资源对象(完全修改)
- PATCH /collection/resource:返回完整的资源对象(局部修改)
- DELETE /collection/resource:返回一个空文档
10、响应中带链接
序列化
- API 接口开发,最核心最常见的一个过程就是序列化,所谓序列化就是把数据转换格式
序列化: 把我们识别的数据转换成指定的格式提供给别人
反序列化:把别人提供的数据转换/还原成我们需要的格式
DRF介绍和安装
- 核心思想: 缩减编写api接口的代码
djangorestframework:drf,它是 Django 的一个第三方 App
使用它可以快速的写出符合restful规范的接口
pip3 install djangorestframework
最新版本不支持 Django 1.x ,支持 Django 2.x
以后都用django2.2.2