一. 前言
FastAPI可能更倾向于使用模块化的方式,比如按功能划分目录。
二. 【fastapi】架构示例
1.适用于中大型项目的
myfastapi/
├── .env # 环境变量文件
├── .gitignore
├── Dockerfile
├── docker-compose.yml
├── requirements.txt # 或使用 poetry/pipenv
├── README.md
│
├── src/ # 项目主目录
│ ├── main.py # 应用入口文件
│ │
│ ├── core/ # 核心配置
│ │ ├── config.py # 配置加载
│ │ └── security.py # 安全相关(如 JWT)
│ │
│ ├── api/ # API 路由
│ │ ├── v1/ # API 版本控制
│ │ │ ├── endpoints/
│ │ │ │ ├── auth.py
│ │ │ │ ├── users.py
│ │ │ │ └── items.py
│ │ │ └── routers.py # 路由聚合
│ │ └── deps.py # 路由依赖项
│ │
│ ├── models/ # 数据库模型
│ │ └── models.py
│ │
│ ├── schemas/ # Pydantic 模型
│ │ ├── auth.py
│ │ ├── user.py
│ │ └── item.py
│ │
│ ├── services/ # 业务逻辑
│ │ ├── auth_service.py
│ │ ├── user_service.py
│ │ └── item_service.py
│ │
│ ├── db/ # 数据库相关
│ │ ├── session.py # 数据库会话管理
│ │ ├── repositories/ # 数据