REST与技术无关,代表的是一种软件架构风格(REST是Represent Stare
Transfer的简称,中文翻译为“表征状态转移”)
REST从资源的角度类审视整个网络,它将分布在网络中某个节点的资源通过URL进行标识
所有的数据,不过是通过网络获取的还是操作(增删改查)的数据,都是资源,将一切数据视为资源是REST区别与其他架构风格的最本质属性
对于REST这种面向资源的架构风格,有人提出一种全新的结构理念,即:面向资源架构
对数据库中的表进⾏增删改查操作
Restful⻛格就是把所有数据都当做资源,对表的操作就是对资源操作
在url同通过 资源名称来指定资源
通过 get/post/put/delete/patch 对资源的操作
2.状态码:
''1. 2XX请求成功'''
# 200 请求成功,⼀般⽤于GET与POST请求
# 201 Created - [POST/PUT/PATCH]:⽤户新建或修改数据成功。
# 202 Accepted - [*]:表示⼀个请求已经进⼊后台排队(异步任务)
# 204 NO CONTENT - [DELETE]:⽤户删除数据成功。
'''2. 3XX重定向'''
# 301 NO CONTENT - 永久重定向
# 302 NO CONTENT - 临时重定向
'''3. 4XX客户端错误'''
# 400 INVALID REQUEST - [POST/PUT/PATCH]:⽤户发出的请求有错误。
# 401 Unauthorized - [*]:表示⽤户没有权限(令牌、⽤户名、密码错误)。
# 403 Forbidden - [*] 表示⽤户得到授权(与401错误相对),但是访问是被禁⽌的。
# 404 NOT FOUND - [*]:⽤户发出的请求针对的是不存在的记录。
# 405 请求⽅式不正
# 406 Not Acceptable - [GET]:⽤户请求的格式不可得(⽐如⽤户请求JSON格式,但是只有XML格
式)。
# 410 Gone -[GET]:⽤户请求的资源被永久删除,且不会再得到的。
# 422 Unprocesable entity - [POST/PUT/PATCH] 当创建⼀个对象时,发⽣⼀个验证错误。
'''4. 5XX服务端错误'''
# 500 INTERNAL SERVER ERROR - [*]:服务器内部错误,⽆法完成请求 ****
# 501 Not Implemented 服务器不⽀持请求的功能,⽆法完成请求
DRF全称是Django rest_framework,Django REST framework是一个建立在Django基础之上的Web 应用开发框 架,可以快速的开发REST API接口应用。在REST framework中,提供了序列化器Serialzier的定义,可以帮助 我们简化序列化与反序列化的过程,不仅如此,还提供丰富的类视图、扩展类、视图集来简化视图的编写工作。 rest_framework还提供了认证、权限、限流、过滤、分页、接口文档等功能支持。rest_framework提供了一 个API 的Web可视化界面 来方便查看测试接口。
特点
提供了定义序列化器Serializer的方法,可以快速根据 Django ORM 或者其它库自动序列化/反序列化;
提供了丰富的类视图、Mixin扩展类,简化视图的编写;
丰富的定制层级:函数视图、类视图、视图集合到自动生成 API,满足各种需要;
多种身份认证和权限认证方式的支持;[jwt]
内置了限流系统;
直观的 API web 界面;
可扩展性,插件丰富