使用 Python 和 FastAPI 构建一个现代、高性能的多用户待办事项 API。利用其异步特性和自动生成的 API 文档。
POST /users/ - 请求体为 Pydantic 模型 (username, email, password),密码需哈希。POST /token - 请求体为 OAuth2PasswordRequestForm,返回 Access Token。GET /users/me/ - 需认证,返回用户信息。POST /users/me/items/ - 需认证,任务与当前用户关联。GET /users/me/items/ - 需认证,支持分页、按完成状态和优先级筛选。GET /items/{item_id} - 需认证,仅限自己的任务。PUT /items/{item_id} - 需认证,仅限自己的任务。DELETE /items/{item_id} - 需认证,仅限自己的任务。asyncpg)passlib, python-jose, FastAPI's OAuth2/fastapi-todo-api
├── app/
│ ├── main.py # FastAPI 入口
│ ├── api/ # 路由 (routers) 和依赖 (deps)
│ ├── core/ # 配置 (config) 和安全 (security)
│ ├── db/ # 数据库会话和模型
│ ├── schemas/ # Pydantic Schemas
│ └── crud/ # CRUD 操作函数
├── alembic/
└── requirements.txt
BaseSettings 从环境变量加载配置。Create, Update, Read 等 Pydantic schemas。APIRouter,定义路径操作函数,调用 CRUD 函数。main.py 中创建 FastAPI 实例并包含各模块路由。Depends 来提供数据库会话和用户认证。pytest 和 httpx 编写异步 API 测试。先行任务: 专注于定义清晰的 Pydantic 模型和数据库结构。