Skip to content

ldy2alen/fastapi

Repository files navigation

FastAPI 渐进式学习项目 —— Todo App

一个从零开始、层层递进的 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   # 用户路由

学习建议

  1. 按顺序学习:每章都建立在前一章的基础上
  2. 动手实践:启动每章的服务,在 /docs 页面中交互测试
  3. 阅读注释:每个文件底部都有知识点总结
  4. 尝试修改:在理解代码后,尝试添加自己的功能

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages