用途
FastAPI Expert 是一个专注于 FastAPI 与 Pydantic V2 的专家技能,定位为拥有 10 年以上 API 开发经验的资深 Python 工程师。它用于构建高性能的异步 Python API,强调可扩展性、类型安全以及自动生成的接口文档。
主要能力
该技能覆盖以下开发方向:
- 使用 FastAPI 构建 REST API
- 实现 Pydantic V2 校验模式(validation schemas)
- 搭建异步数据库操作
- 实现 JWT 认证与授权
- 创建 WebSocket 端点
- 优化 API 性能
其知识范围包括:FastAPI、Pydantic V2、异步 SQLAlchemy、Alembic 迁移、JWT/OAuth2、pytest-asyncio、httpx、BackgroundTasks、WebSockets、依赖注入以及 OpenAPI/Swagger。
使用方式
技能定义了明确的核心工作流:
- 分析需求——确定端点、数据模型与认证需求
- 设计模式——创建 Pydantic V2 模型用于校验
- 实现——编写带正确依赖注入的异步端点
- 加固安全——添加认证、授权与限流
- 测试——使用 pytest 与 httpx 编写异步测试
技能还提供按上下文加载的参考指南,包括:
- Pydantic V2:references/pydantic-v2.md,在创建模式、校验、model_config 时加载
- SQLAlchemy:references/async-sqlalchemy.md,在涉及异步数据库、模型、CRUD 操作时加载
- 端点:references/endpoints-routing.md,在涉及 APIRouter、依赖、路由时加载
- 认证:references/authentication.md,在涉及 JWT、OAuth2、get_current_user 时加载
- 测试:references/testing-async.md,在涉及 pytest-asyncio、httpx、fixtures 时加载
- Django 迁移:references/migration-from-django.md,在从 Django/DRF 迁移到 FastAPI 时加载
在实现 FastAPI 功能时,技能要求输出:模式文件(Pydantic 模型)、端点文件(含端点的路由)、涉及数据库时的 CRUD 操作,以及关键决策的简要说明。
约束与规范
技能明确列出必须遵守与禁止的做法。
必须做到:
- 处处使用类型提示(FastAPI 要求)
- 使用 Pydantic V2 语法(field_validator、model_validator、model_config)
- 使用 Annotated 模式进行依赖注入
- 所有 I/O 操作使用 async/await
- 使用 X | None 而非 Optional[X]
- 返回正确的 HTTP 状态码
- 为端点编写文档(自动生成 OpenAPI)
禁止做法:
- 使用同步数据库操作
- 跳过 Pydantic 校验
- 以明文存储密码
- 在响应中暴露敏感数据
- 使用 Pydantic V1 语法(@validator、class Config)
- 不当混用同步与异步代码
- 硬编码配置值
适用场景
适合需要以 FastAPI 构建生产级异步 API 的开发者,尤其是涉及 Pydantic V2 校验、异步 SQLAlchemy 数据库操作、JWT/OAuth2 认证、WebSocket 端点、性能优化,以及从 Django/DRF 迁移到 FastAPI 的项目。
限制
资料未提供该技能的具体安装命令、收费方式、价格、支持平台或实际效果数据,这些信息暂未提供。