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协程
FastAPI 基础学习
FastApi 基础学习(三) Pydantic 做类型强制检查
FastAPI 基础学习(六) Request Body(I)
FastAPI 基础学习(七) Request Body(II)
FastAPI 基础学习(十四) Response自定义状态码
FastAPI Response
FastAPI Response(一) Response模型
FastAPI Response(二) 直接返回Response对象
FastAPI Response(三) 定制化的Response
FastAPI Response(四) 高级定制的Response
FastAPI 中间件
FastAPI 依赖注入系统
FastAPI 依赖注入系统(四) 基于路径操作装饰器的依赖项
FastAPI 依赖注入系统(五) 带有yield功能的依赖项
FastAPI 安全机制
FastAPI 安全机制(二) 基于OAuth2和JWT的Token认证机制(一)生成token
FastAPI 安全机制(三) 基于OAuth2和JWT的Token认证机制(二)用户登陆及验证
FastAPI 数据库访问
FastAPI 数据库访问(一)使用SQLAlchemy访问关系数据库
FastAPI 数据库访问(二)使用SQLAlchemy异步访问关系数据库
FastAPI 进阶知识
FastAPI 进阶知识(七) 在Request中存储附加信息
FastAPI WebSockets
FastAPI 工程管理
关于交互式文档的配置信息这里不再赘述,可以参考以下相关原文:
https://fastapi.tiangolo.com/tutorial/metadata/
https://fastapi.tiangolo.com/advanced/path-operation-advanced-configuration/