为什么要有这篇目录
FastAPI 上手很快,也很容易写成一堆无法测试、无法拆分的路由函数。本系列先把第一个接口跑起来,再把请求契约、依赖、数据库、异常、鉴权、测试和生产部署拆开。读的时候按顺序走:先能访问 /docs,再谈工程。
建议阅读顺序
- FastAPI 系列:从第一个接口到生产部署:系列边界、和 Flask / Django 的差别。
- FastAPI 为什么适合做 JSON API:ASGI、类型提示与自动文档
- 第一个接口怎么跑起来:安装、uvicorn 与 /docs
- 路径、查询和请求体为什么要分开声明
- Pydantic 模型怎么当契约:校验、响应模型和示例
- 路由怎么拆:APIRouter、前缀和项目结构
- 依赖注入到底省了什么:Depends、yield 与生命周期
- 数据库会话怎么进接口:SQLAlchemy 与依赖覆盖
- 状态码和异常为什么不要裸 raise
- 鉴权怎么接到 Depends 上:OAuth2 Password 与 Bearer JWT
- 中间件、CORS 和后台任务分别解决什么
- 测试怎么写才不连真实库:TestClient 与 dependency_overrides
- 生产怎么部署:workers、健康检查、配置与日志
怎么读
前 5 篇把请求从 URL 拆进函数参数,并让 OpenAPI 自动出来。后 7 篇把会话、权限和测试从路由函数里抽走。代码以 Python 3.11+、FastAPI 当前稳定版、Pydantic v2 为准。
读完可以自检的三件事
- 请求和响应契约是否进了 Pydantic 模型,而不是手写
dict。 - 数据库会话和当前用户是否是
Depends,测试时能否dependency_overrides换掉。 - 生产是否有多 worker、健康检查和结构化日志,而不是只开
fastapi dev。
FastAPI 系列总目录
https://lautung.com/archives/fastapi-series-toc
评论