FastAPI 安全机制(二) 基于OAuth2和JWT的Token认证机制(一)生成token
摘要:作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! JWT简介 基于JWT的Token认证机制实现(一)概念 基于JWT的Token认证机制实现(二)认证过程 OAuth2PasswordBearer OAuth2PasswordB
阅读全文
posted @
2020-07-01 14:28
麦克煎蛋
阅读(7013)
推荐(0) 编辑
FastAPI 安全机制(一) 简介
摘要:作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! 在系统安全、身份验证以及权限授权方面通常来说有各种各样的处理方式,但大多都比较复杂。 在很多框架和系统里,涉及安全和身份验证的工作往往都比较繁琐,并且代码量也巨大。 我们先简单了解
阅读全文
posted @
2020-06-29 11:03
麦克煎蛋
阅读(3712)
推荐(0) 编辑
FastAPI 依赖注入系统(四) 基于路径操作装饰器的依赖项
摘要:作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! 在有些情况下,我们并不需要依赖项的返回值,但仍然需要依赖项被执行。 在这种情况下,我们可以通过路径操作装饰器来操作依赖项的一个列表。 通过路径操作装饰器添加依赖项 路径操作装饰器接
阅读全文
posted @
2020-06-09 15:09
麦克煎蛋
阅读(1477)
推荐(0) 编辑
FastAPI 依赖注入系统(三) 子依赖项
摘要:作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! 我们可以创建有子依赖项的依赖项,具体依赖深度不受限制。 FastAPI会处理好依赖项之间的关系。 我们先声明第一个依赖项函数: def query_extractor(q11: s
阅读全文
posted @
2020-06-08 16:49
麦克煎蛋
阅读(1030)
推荐(0) 编辑
FastAPI 学习手册
摘要:作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! 2020.08.06 完成工程示例,已上传至GitHub: https://github.com/zhiyongma/fastproject 2020.07.30 第一遍基本翻译完
阅读全文
posted @
2020-06-08 16:21
麦克煎蛋
阅读(10186)
推荐(8) 编辑
FastAPI 依赖注入系统(二) 依赖项类
摘要:作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! 目前为止,我们看到的依赖项的声明都是函数。实际上这只是声明依赖项的方式之一。 依赖项只要是可调用的即可。Python类也是可调用的。因此在FastAPI中,我们可以用Python类
阅读全文
posted @
2020-06-08 15:40
麦克煎蛋
阅读(1276)
推荐(0) 编辑
FastAPI 依赖注入系统(一) 简介
摘要:作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! FastAPI有一个强大并且简单易懂的系统:依赖注入系统。 什么是"依赖注入" "依赖注入"首先意味着在程序中我们的代码可以声明一些它必须依赖的项:我们称之为dependencie
阅读全文
posted @
2020-06-08 15:34
麦克煎蛋
阅读(2864)
推荐(0) 编辑
FastAPI 中间件(三) 跨域资源共享中间件
摘要:作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! 跨域资源共享(CORS) 是一种机制,它使用额外的 HTTP 头来告诉浏览器 让运行在一个 origin (domain) 上的Web应用被准许访问来自不同源服务器上的指定的资源。
阅读全文
posted @
2020-06-04 18:22
麦克煎蛋
阅读(3297)
推荐(0) 编辑
FastAPI 中间件(二) 高级中间件
摘要:作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! 除了自定义中间件,我们也可以直接使用其他的中间件。 FastAPI通过 app.add_middleware() 操作来引入已定义的中间件。 from fastapi import
阅读全文
posted @
2020-06-04 18:20
麦克煎蛋
阅读(6272)
推荐(0) 编辑
FastAPI 中间件(一) 自定义中间件
摘要:作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! 我们可以在FastAPI应用中使用中间件。 中间件实际上是一个函数,在每个request处理之前被调用,同时又在每个response返回之前被调用。 1、首先接收访问过来的requ
阅读全文
posted @
2020-06-04 18:17
麦克煎蛋
阅读(4942)
推荐(0) 编辑
FastAPI 进阶知识(三) 错误处理
摘要:作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! 如果使用API时有错误发生,你需要通知给客户端(Web端或者API使用者)这个错误信息。 常见的错误信息为: 客户端没有权限进行相关的操作。 客户端找不到对应的路径操作。 客户端找
阅读全文
posted @
2020-05-28 16:53
麦克煎蛋
阅读(5071)
推荐(0) 编辑
FastAPI 进阶知识(二) JSON兼容编码
摘要:作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! 在进行数据存储或者传输的时候,有时候我们需要把数据(比如Pydantic模型)转换成JSON兼容的格式(如dict、list等)。 FastAPI提供了 jsonable_enco
阅读全文
posted @
2020-05-26 14:46
麦克煎蛋
阅读(2236)
推荐(0) 编辑
FastAPI 进阶知识(一) 表单数据
摘要:作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! 我们可以用Form组件来接收表单数据。 1、安装组件 pip install python-multipart 2、导入组件 from fastapi import Form 3、
阅读全文
posted @
2020-05-25 16:47
麦克煎蛋
阅读(2693)
推荐(0) 编辑
FastAPI 基础学习(十四) Response自定义状态码
摘要:作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! 一、通过参数status_code自定义状态码 我们可以用参数status_code来声明Response状态码。 支持任意路径操作: @app.get() @app.post()
阅读全文
posted @
2020-05-25 16:25
麦克煎蛋
阅读(3884)
推荐(2) 编辑
FastAPI Response(一) Response模型
摘要:作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! 一、Response模型 在路径操作中,我们可以用参数response_model来声明Response模型。 from typing import List from fasta
阅读全文
posted @
2020-05-25 14:28
麦克煎蛋
阅读(4226)
推荐(0) 编辑
FastAPI 基础学习(十二) Cookie操作
摘要:作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! 读取Cookie信息 基于Query、Path等模块同样的模式,我们可以利用Cookie模块来声明cookies。Cookie是Query、Path的姐妹类,它们都继承自Param
阅读全文
posted @
2020-05-21 16:44
麦克煎蛋
阅读(3806)
推荐(0) 编辑
FastAPI 基础学习(十一) 复杂数据类型
摘要:作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! 目前为止,我们主要用到了一些通用的数据类型,比如int、float、str、bool等。 但我们也可以用一些相对复杂的数据类型,并且仍然可以得到以下的功能支持: 编辑器支持 数据格
阅读全文
posted @
2020-05-21 10:45
麦克煎蛋
阅读(1927)
推荐(0) 编辑
FastAPI 基础学习(十) Pydantic复杂模型
摘要:作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! 一、Pydantic模型的附加信息 与前面讲过的Query、Path、Body类似,我们也可以为Pydantic模型添加附加信息,基于模块Field。 1、导入Field模块 fr
阅读全文
posted @
2020-05-20 21:07
麦克煎蛋
阅读(9046)
推荐(1) 编辑
FastAPI 基础学习(九) 参数附加信息 (二)
摘要:作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! 三、路径参数附加信息 对路径参数附加信息的支持,FastAPI通过Path模块来实现。 1、导入Path模块 from fastapi import Path 2、添加附加信息 所
阅读全文
posted @
2020-05-18 21:20
麦克煎蛋
阅读(1289)
推荐(0) 编辑
FastAPI 基础学习(八) 参数附加信息 (一)
摘要:作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! FastAPI支持为路径参数、请求参数添加附加信息,起到辅助说明或辅助校验的作用。 一、请求参数附加信息 对请求参数附加信息的支持,FastAPI通过Query模块来实现。 1、导
阅读全文
posted @
2020-05-18 15:08
麦克煎蛋
阅读(2918)
推荐(0) 编辑