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/
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
2012-06-08 CentOS下配置iptables防火墙
2012-06-08 NSAutoreleasePool自动释放池
2012-06-08 ios中提示信息的实现及自动消失
2012-06-08 文章逐步迁移过来
2012-06-08 什么是Toll-free bridging
2012-06-08 CFArrayRef和NSArray
2012-06-08 ios导航条添加按钮