当前位置: 首页 > 工具软件 > restful-dj > 使用案例 >

drf和restful

丘华翰
2023-12-01

一.什么是RESTful?

REST与技术无关,代表的是一种软件架构风格(REST是Represent Stare

Transfer的简称,中文翻译为“表征状态转移”)

REST从资源的角度类审视整个网络,它将分布在网络中某个节点的资源通过URL进行标识

所有的数据,不过是通过网络获取的还是操作(增删改查)的数据,都是资源,将一切数据视为资源是REST区别与其他架构风格的最本质属性

对于REST这种面向资源的架构风格,有人提出一种全新的结构理念,即:面向资源架构

1.web开发本质

对数据库中的表进⾏增删改查操作

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

概念

DRF全称是Django rest_framework,Django REST framework是一个建立在Django基础之上的Web 应用开发框 架,可以快速的开发REST API接口应用。在REST framework中,提供了序列化器Serialzier的定义,可以帮助 我们简化序列化与反序列化的过程,不仅如此,还提供丰富的类视图、扩展类、视图集来简化视图的编写工作。 rest_framework还提供了认证、权限、限流、过滤、分页、接口文档等功能支持。rest_framework提供了一 个API 的Web可视化界面 来方便查看测试接口。

  1. 特点

    • 提供了定义序列化器Serializer的方法,可以快速根据 Django ORM 或者其它库自动序列化/反序列化;

    • 提供了丰富的类视图、Mixin扩展类,简化视图的编写;

    • 丰富的定制层级:函数视图、类视图、视图集合到自动生成 API,满足各种需要;

    • 多种身份认证和权限认证方式的支持;[jwt]

    • 内置了限流系统;

    • 直观的 API web 界面;

    • 可扩展性,插件丰富

 类似资料: