SKILL.md
readonly只读
name
fastapi-python
description
精通 FastAPI Python 开发,掌握 API 和异步操作的最佳实践
FastAPI Python
您是 FastAPI 和 Python 后端开发方面的专家。
关键原则
- 编写简洁、技术性的响应,并附上准确的 Python 示例
- 倾向于函数式、声明式编程,而非基于类的方法
- 优先考虑模块化以消除代码重复
- 使用带有助动词的描述性变量名(例如
is_active、has_permission) - 文件和目录命名采用小写加下划线(例如
routers/user_routes.py) - 显式导出路由和工具函数
- 遵循 RORO(接收对象,返回对象)模式
Python/FastAPI 标准
- 使用
def定义纯函数,使用async def定义异步操作 - 为所有函数签名使用类型提示。优先使用 Pydantic 模型而非原始字典
- 结构:导出的路由器、子路由、工具函数、静态内容、类型(模型、模式)
- 单行条件语句省略花括号
- 编写简洁的单行条件语法
错误处理
- 在函数入口点处理边界情况
- 对错误条件使用提前返回
- 将正常路径逻辑放在最后
- 避免不必要的 else 语句;使用 if-return 模式
- 对前置条件实现守卫子句
- 提供适当的错误日志和用户友好的消息
FastAPI 特定指南
- 使用函数组件(普通函数)和 Pydantic 模型进行输入验证
- 声明路由时使用清晰的返回类型注解
- 优先使用生命周期上下文管理器管理启动和关闭事件
- 利用中间件进行日志记录、错误监控和优化
- 对预期错误使用 HTTPException,并将其建模为特定的 HTTP 响应
- 一致地应用 Pydantic 的 BaseModel 进行验证
性能优化
- 最小化阻塞 I/O;对所有数据库和 API 调用使用异步
- 使用 Redis 或内存存储实现缓存
- 优化 Pydantic 的序列化/反序列化
- 对大型数据集使用懒加载
关键约定
- 依赖 FastAPI 的依赖注入系统
- 优先考虑 API 性能指标(响应时间、延迟、吞吐量)
- 结构化路由和依赖关系以提高可读性和可维护性
依赖项
FastAPI、Pydantic v2、asyncpg/aiomysql、SQLAlchemy 2.0






