一个从零开始、层层递进的 FastAPI 学习项目。每一章都是一个可独立运行的完整示例。
pip install fastapi uvicorn python-jose[cryptography] passlib[bcrypt] python-multipart pydantic-settings| 章节 | 主题 | 核心知识点 | 端口 |
|---|---|---|---|
| 第1章 | Hello FastAPI | 创建应用、GET 路由、自动文档 | 8000 |
| 第2章 | 路径参数与查询参数 | Path/Query 参数、类型校验、可选参数 | 8001 |
| 第3章 | 请求体与 Pydantic | BaseModel、Field 校验、response_model | 8002 |
| 第4章 | 完整 CRUD | POST/GET/PUT/DELETE、HTTPException、枚举 | 8003 |
| 第5章 | 数据库集成 | SQLAlchemy ORM、Depends 依赖注入、Session | 8004 |
| 第6章 | 用户认证 | JWT Token、密码哈希、OAuth2、数据隔离 | 8005 |
| 第7章 | 项目重构 | APIRouter、分层架构、配置管理、CORS | 8006 |
每个章节都可以独立运行:
# 第1章
cd chapter01_hello
uvicorn main:app --reload
# 第2章
cd chapter02_parameters
uvicorn main:app --reload --port 8001
# 第3-6章类似,改 cd 目录和端口即可
# 第7章(注意启动命令不同)
cd chapter07_project
uvicorn app.main:app --reload --port 8006启动后访问 http://127.0.0.1:{端口}/docs 查看交互式 API 文档。
fastapi/
├── README.md # 本文件
├── chapter01_hello/ # 第1章:最小应用
│ └── main.py
├── chapter02_parameters/ # 第2章:参数处理
│ └── main.py
├── chapter03_pydantic/ # 第3章:数据校验
│ └── main.py
├── chapter04_crud/ # 第4章:内存 CRUD
│ └── main.py
├── chapter05_database/ # 第5章:数据库
│ └── main.py
├── chapter06_auth/ # 第6章:认证
│ └── main.py
└── chapter07_project/ # 第7章:完整项目
└── app/
├── main.py # 应用入口
├── config.py # 配置管理
├── database.py # 数据库连接
├── models.py # 数据库模型
├── schemas.py # Pydantic 模型
├── auth.py # 认证工具
└── routers/
├── auth_router.py # 认证路由
├── todo_router.py # Todo 路由
└── user_router.py # 用户路由
- 按顺序学习:每章都建立在前一章的基础上
- 动手实践:启动每章的服务,在
/docs页面中交互测试 - 阅读注释:每个文件底部都有知识点总结
- 尝试修改:在理解代码后,尝试添加自己的功能