这个项目能做什么
本仓库是一份基于初创公司生产环境经验整理的FastAPI最佳实践与约定集合。它并非库或框架,而是包含代码示例和架构指导的文档资源。
涵盖的关键主题包括:
- 项目结构:采用受Netflix Dispatch启发的领域驱动布局,每个模块包含独立的路由器、模式、模型、服务、依赖项、常量、配置、工具函数和异常处理。
- 异步路由:提供处理I/O密集型与CPU密集型任务的指导,解释FastAPI如何在线程池中运行同步路由,以及为何在异步路由中执行阻塞操作会导致事件循环停滞。
- Pydantic使用:广泛使用Pydantic进行数据验证,创建自定义全局基础模型以实现一致的日期时间序列化,并将BaseSettings拆分到各模块中。
- 依赖注入:利用FastAPI依赖项进行请求验证(超越注入功能)、链式依赖、请求级缓存,并优先使用异步依赖。
- 其他实践:遵循REST约定、理解FastAPI响应序列化行为、在线程池中运行同步SDK、在BackgroundTasks与真实任务队列之间做出选择、处理ValueError到ValidationError的转换、默认隐藏文档、设置数据库命名约定、使用Alembic迁移以及采用ruff工具。
仓库还包含AGENTS.md文件,以机器可读格式为AI代理提供相同规则,包含版本矩阵、Do/Don't区块和反模式检查清单。此外,提供README的简体中文翻译版本。
评论
0 评分人数达到10人后显示
登录后参与讨论。