MON.DRF 入门规范

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、响应带状态码 **
	- 201301302403404500
  - 公司自己定制 -- 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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值