1-1.drf入门规范

目录

Web应用模式

Web应用的模式:

	C/S架构
    	c:client 客户端
        s:server 服务端
    B/S架构
    	b:browser  浏览器
        s:server   服务端   
本质上b/s也是c/s

前后端不分离

1-1.drf入门规范

前后端分离

1-1.drf入门规范

API接口

通过网络,规定了前后台信息交互规则的url链接,也就是前后台信息交互的媒介

Web API接口和一般的url链接还是有区别的,Web API接口简单概括有下面四大特点

1.url:长得像返回数据的url链接
https://api.map.baidu.com/place/v2/search

2.请求方式:get、post、put、patch、delete

3.请求参数:json或xml格式的key-value类型数据

4.响应结果:json或xml格式的数据

RESTful API规范

RESTful是一种定义Web API接口的设计风格,尤其适用于前后端分离的应用模式中。

# 10条
1. url链接一般都采用https协议进行传输
	http: 数据明文传输
    https:数据加密传输, http + ssl
2. 用api关键字标识接口url:
     https://api.baidu.com
	https://www.baidu.com/api
3. 在url链接中标识数据版本
    https://api.baidu.com/v1
    https://api.baidu.com/v2
4. 数据即是资源,均使用名词(可复数)
	https://api.baidu.com/users
	https://api.baidu.com/books
	https://api.baidu.com/book	
 5.  资源操作由请求方式决定 (重点)
		https://api.baidu.com/books - get请求:获取所有书
        https://api.baidu.com/books/1 - get请求:获取主键为1的书
        https://api.baidu.com/books - post请求:新增一本书书
        https://api.baidu.com/books/1 - put请求:整体修改主键为1的书 # 全部更新
            
        https://api.baidu.com/books/1 - patch请求:局部修改主键为1的书 # 局部更新
       https://api.baidu.com/books/1 - delete请求:删除主键为1的书
6. 过滤,通过在url上传参的形式传递搜索条件
	https://api.example.com/v1/zoos?limit=10:指定返回记录的数量
	https://api.example.com/v1/zoos?offset=10:指定返回记录的开始位置
7. 响应状态码
	200, 301,302, 404, 403, 500
    # 业务状态码
    100001
    100002
    100003
8.  错误处理,应返回错误信息,error当做key
    {
        error: "无权限操作"
    }
9. 返回结果,针对不同操作,服务器向用户返回的结果应该符合以下规范
	GET /books:返回资源对象的列表(数组)[{}, {}, {}]
    GET /books/1:返回单个资源对象 {}
    POST /books:返回新生成的资源对象
    PUT /books/1:返回完整的资源对象
    PATCH /books/1:返回完整的资源对象
    DELETE /books/1:返回一个空文档
10 需要url请求的资源需要访问资源的请求链接

序列化

序列化: 把我们识别的数据转换成指定的格式提供给别人。
反序列化:把别人提供的数据转换/还原成我们需要的格式

Django Rest_Framework

  1. Django Rest_Framework 简称drf, 他就是django的第三方app
  2. drf最新版本不支持django1.x, 升级django版本为:django2.x
  3. 命令安装 pip3 install djangorestframework
上一篇:OptaPlanner 试验


下一篇:OptaPlanner - AI Constraint satisfaction solver