提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
写在最前面
学习FastAPI有两个目标,第一个是用来开发自己的小站,保持技术警惕,了解行业技术发展;另外一个是计划将来开发一个自动化接口测试平台。通过对这两个目标的开发来使得自己可以整体的学习后端、前端、部署、数据、Linux等技术。
一、FastAPI介绍
1.FastAPI是什么?
想要了解什么是FastAPI,直接的方式就是官方文档,链接: FastAPI官方文档
写这个学习记录的时候,已经 44.6K了,所以这个项目的火热程度是蹭蹭的。
还可以看下,Jetbrains的2021 开发者生态系统现状中FastAPI的总体占比为14%,链接: FastAPI的开发框架总体占比
2.为什么要选择FastAPI?
选择它的原因,来源于它的技术特性以及未来发展(我猜的,手动狗头),少废话,直接看官网介绍:
FastAPI 是一个用于构建 API 的现代、快速(高性能)的 web 框架,使用 Python 3.6+ 并基于标准的 Python 类型提示。
关键特性:
快速:可与 NodeJS 和 Go 比肩的极高性能(归功于 Starlette 和 Pydantic)。最快的 Python web 框架之一。
高效编码:提高功能开发速度约 200% 至 300%。*
更少 bug:减少约 40% 的人为(开发者)导致错误。*
智能:极佳的编辑器支持。处处皆可自动补全,减少调试时间。
简单:设计的易于使用和学习,阅读文档的时间更短。
简短:使代码重复最小化。通过不同的参数声明实现丰富功能。bug 更少。
健壮:生产可用级别的代码。还有自动生成的交互式文档。
标准化:基于(并完全兼容)API 的相关开放标准:OpenAPI (以前被称为 Swagger) 和 JSON Schema。
Starlette 和 Pydantic是两个比较重要的内容,后续需重点了解学习。