FastAPI 学习手册

作者:麦克煎蛋   出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢!

 

2020.08.06   完成工程示例,已上传至GitHub:  https://github.com/zhiyongma/fastproject 

2020.07.30   第一遍基本翻译完成了,前后可能还需要整理下

                   另外打算补充下部分基础知识,比如协程等;之后打算整理示例工程   

                   再之后打算研究下Starlette 和 Pydantic,以及异步框架的基础运行机制等等。。。

2020.07.15    重新归纳了目录分类,并将前后相关联的内容整理到了一个文件中

------------------------------------------------------------------------

目前采用的Python web开发框架一直是Flask,但实际上只用到了其中的API功能。

偶然间了解到了FastAPI,初步感觉还是挺好的,能满足API的功能需求,性能又大大提升了。

先基于官方的文档学习下,后续再进行工程实践。

 

官方地址:https://fastapi.tiangolo.com/

主体内容是基于官方文档的翻译,同时根据自己的理解加以适当调整。

 

目前基本通读完了官方文档,但还需要消化和理解下,然后再逐步整理文档。

总的来说,FlaskApi无论从性能还是业务功能的完善度来说,都远远胜于Flask。

 

如果比较熟悉FastAPI的话,实际代码管理应该比Flask更便捷,并且重复代码量也会少一些。

可交互式文档是一个比较强大的功能,不仅便于输出接口文档,而且方便随时调试,翻译过程中做了简略。可在实践中自行体验。

 

------------------------------------------------------------------------

在进行FastAPI学习的时候,先熟悉下一些基础概念对整体的学习是大有帮助的。

FastAPI 基础理论

FastAPI 异步代码、并发和并行  (这篇文章翻译的老费劲了)

Python协程

Python协程(一) 概述

Python协程(二) Asyncio入门

Python协程(三) Asyncio运行

 

FastAPI 基础学习

FastApi 基础学习(一) 概述 

FastApi 基础学习(二) 开发环境安装 

FastApi 基础学习(三) Pydantic 做类型强制检查

FastAPI 基础学习(四) 路径参数

FastAPI 基础学习(五) 请求参数

FastAPI 基础学习(六) Request Body(I)

FastAPI 基础学习(七) Request Body(II)

FastAPI 基础学习(八) 参数附加信息 (一)

FastAPI 基础学习(九) 参数附加信息 (二)

FastAPI 基础学习(十) Pydantic复杂模型

FastAPI 基础学习(十一) 复杂数据类型

FastAPI 基础学习(十二) Cookie操作

FastAPI 基础学习(十三) Header操作

FastAPI 基础学习(十四) Response自定义状态码

FastAPI 基础学习(十五) 直接使用Request

FastAPI Response

FastAPI Response(一) Response模型

FastAPI Response(二) 直接返回Response对象

FastAPI Response(三) 定制化的Response

FastAPI Response(四) 高级定制的Response

FastAPI 中间件

FastAPI 中间件(一) 自定义中间件

FastAPI 中间件(二) 高级中间件

FastAPI 中间件(三) 跨域资源共享中间件

FastAPI 依赖注入系统

FastAPI 依赖注入系统(一) 简介

FastAPI 依赖注入系统(二) 依赖项类

FastAPI 依赖注入系统(三) 子依赖项

FastAPI 依赖注入系统(四) 基于路径操作装饰器的依赖项

FastAPI 依赖注入系统(五) 带有yield功能的依赖项

FastAPI 依赖注入系统(六) 可参数化的依赖项

FastAPI 安全机制

FastAPI 安全机制(一) 简介 

FastAPI 安全机制(二) 基于OAuth2和JWT的Token认证机制(一)生成token

FastAPI 安全机制(三) 基于OAuth2和JWT的Token认证机制(二)用户登陆及验证

FastAPI 安全机制(四) OAuth2 scopes 

FastAPI 数据库访问

FastAPI 数据库访问(一)使用SQLAlchemy访问关系数据库

FastAPI 数据库访问(二)使用SQLAlchemy异步访问关系数据库 

FastAPI 进阶知识

FastAPI 进阶知识(一) 表单数据

FastAPI 进阶知识(二) JSON兼容编码

FastAPI 进阶知识(三) 错误处理

FastAPI 进阶知识(四) 后台任务

FastAPI 进阶知识(五) 子应用

FastAPI 进阶知识(六) 启动-关闭事件

FastAPI 进阶知识(七) 在Request中存储附加信息

FastAPI WebSockets

FastAPI WebSockets

FastAPI 工程管理

FastAPI 工程管理(一) 工程目录管理

FastAPI 工程管理(二) 工程设置 

FastAPI 工程管理(三) 工程部署 

FastAPI 工程管理(四) 工程示例

 

关于交互式文档的配置信息这里不再赘述,可以参考以下相关原文:

https://fastapi.tiangolo.com/tutorial/metadata/

https://fastapi.tiangolo.com/advanced/path-operation-advanced-configuration/

posted on 2020-06-08 16:21  麦克煎蛋  阅读(10010)  评论(7编辑  收藏  举报