866 字
2 分钟
FastAPIfastapi
FastAPI 学习路线图:把教程式切分重新排成一条主线
FastAPI 官方教程很适合查文档,但连续学习时会显得碎。我把目前的 1-21 份笔记和官方重点章节重新排成一条更适合入门的路径。
FastAPI 官方教程本身没有问题,问题更多出在它的组织目标。
它一方面是教程,另一方面又明显承担了"查询手册"的角色,所以经常会出现几种体验:
- 先抛出一个高级概念,再在后面单独解释
- 一个功能点单独拆成一章,连续阅读时会显得碎
- 明明属于同一条请求流的内容,被拆散到不同页面
拿它查资料很舒服,拿它从头系统学,就会有一点"章节非常细、跳跃又频繁"的感觉。
这组文集就是按"构建一个服务时,脑子里会经历的顺序"重新排的。顺序不是跟着目录走,而是跟着一条请求真正流过应用时会经过的层次走。
1. 应用入口、fastapi dev、uvicorn
先把最小应用跑起来,理解:
app = FastAPI()到底是什么fastapi dev在开发阶段帮了什么uvicorn为什么是 FastAPI 常见搭档pyproject.toml里的entrypoint是什么
2. URL 输入:路径参数与查询参数
把最常见、也最容易混在一起的两类输入先分清:
- 路径参数负责定位资源
- 查询参数负责附加过滤和控制条件
3. 请求体与 Pydantic 模型
当输入不再只是 URL 上的几个值,而是一整个 JSON 结构时,就进入请求体和模型层。
这一步会把下面几件事连起来:
- 请求体建模
- 多个 body 参数
- 嵌套模型
- 示例数据和文档展示
4. 参数来源与校验
把 Query / Path / Body / Cookie / Header 统一成一个心智模型:
- 参数从哪里来
- 规则放在哪里
- 复杂校验怎样接进来
5. 输出层:响应模型、状态码与更新语义
前面主要都在看"请求怎么进来",这一块开始看"响应怎么出去":
response_model- 返回值过滤
- 常见类型系统
status_code / tags / descriptionjsonable_encoderPUT / PATCH的更新思路
6. 请求编码切换:表单与文件上传
这一层会把"不是 JSON 的请求"补完整:
FormFileUploadFile- 为什么上传文件一定会牵涉到
multipart/form-data
7. 依赖注入、yield、错误处理与安全起步
这一层开始接近"真正可维护的服务":
Depends- 类依赖、子依赖、全局依赖
yield依赖和资源释放HTTPException- 自定义异常处理器
OAuth2PasswordBearer
8. Bigger Applications:APIRouter、多文件结构、生命周期
当单文件应用开始变大,问题就不再是"写不写得出来",而是"怎么组织":
APIRouterinclude_router- 模块划分
lifespan
9. 中间件、CORS、后台任务
这是"路由之外还有什么东西会围绕请求工作"的一层:
- 中间件的请求/响应包裹关系
- CORS 为什么是浏览器问题,不是 FastAPI 特有问题
BackgroundTasks什么时候合适
10. 测试、CLI、手动运行与 Workers
最后把"怎么运行"和"怎么验证"补齐:
TestClientpytestfastapi devfastapi runuvicorn main:app--reload--workers
这条顺序跟官方目录不一样,但更接近第一次系统学 FastAPI 时真正需要的顺序:
- 先把服务跑起来
- 再理解请求从哪里进来
- 再理解响应怎么出去
- 再补依赖、错误、安全
- 最后进入工程化和部署
专题阅读
FastAPI
这篇文章属于同一条阅读链。你可以直接在这里切换,不用再回到列表页重新找。
当前进度1 / 11
01
FastAPI 学习路线图:把教程式切分重新排成一条主线
更新于 2026-04-03
当前
02FastAPI 起步:应用入口、fastapi dev、entrypoint 与 uvicorn
更新于 2026-04-02
03FastAPI 输入基础:路径参数与查询参数
更新于 2026-04-01
04FastAPI 请求体:Pydantic 模型、多参数与嵌套结构
更新于 2026-03-31
05FastAPI 参数校验:Query、Path、Body、Cookie、Header
更新于 2026-03-30
06FastAPI 输出层:响应模型、状态码与数据更新
更新于 2026-03-29
07FastAPI 请求编码切换:表单、文件上传与 UploadFile
更新于 2026-03-28
08FastAPI 组织逻辑:Depends、yield、错误处理与安全起步
更新于 2026-03-27
09FastAPI Bigger Applications:APIRouter、多文件应用与生命周期
更新于 2026-03-26
10FastAPI 扩展层:中间件、CORS 与后台任务
更新于 2026-03-25
11FastAPI 验证与运行:Testing、CLI、Uvicorn 与 Workers
更新于 2026-03-24
部分信息可能已经过时