Agent Skills
返回列表
💻

FastAPI 专业开发

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/fastapi-pro。

技能介绍

要解决什么问题

用 FastAPI 搭 REST、WebSocket 或微服务时,常见问题不是「能不能跑」,而是 异步与并发 是否用对、Pydantic V2 与 SQLAlchemy 2.0 异步 是否一致、认证与限流能否扛生产流量,以及 OpenAPI、测试、观测能否跟上迭代。本技能把这些问题当成可执行的工程清单,而不是泛泛的框架介绍。

技能如何工作

技能以 异步优先 为默认立场,按「契约 → 实现 → 验证 → 运维」推进:

  • API 层:FastAPI 0.100+(Annotated 依赖注入)、WebSocket、BackgroundTasks、自定义中间件与流式/上传响应
  • 数据层:asyncpg/aiomysql、Alembic 迁移、仓库/工作单元、Redis 缓存、MongoDB(Motor/Beanie),并强调 N+1 与连接池
  • 横切能力:OAuth2/JWT、RBAC、CORS 与安全头、pytest-asyncio + TestClient、Locust 压测、结构化日志与 OpenTelemetry/Prometheus
  • 交付:Docker/K8s、Uvicorn/Gunicorn 调优、消息队列与 Celery/Dramatiq 等集成模式

典型响应路径是:分析需求中的异步机会 → 用 Pydantic 定 API 契约 → 实现端点与错误处理 → 写边界用例的异步测试 → 用缓存/连接池优化 → 补 OpenAPI 注解并考虑扩缩策略。更细的示例见 resources/implementation-playbook.md。

适用边界

任务与 FastAPI 及上述 Python Web 栈无关时不要用本技能;需要其它语言框架或完全脱离 API/微服务场景的工具链时,应换用对应领域技能。

使用场景

  • 从零搭建 FastAPI 微服务,用异步 SQLAlchemy 2.0、Redis 缓存和 Alembic 迁移管理连接池与会话。
  • 在对外 API 上落地 OAuth2/JWT(含刷新令牌)、RBAC 以及按用户或 IP 的速率限制与 CORS 安全头。
  • 实现 WebSocket 实时通信,并用 BackgroundTasks 或 Celery/Dramatiq 队列处理耗时后台任务。
  • 线上端点出现慢查询或 N+1,需要结合预加载、游标分页、Redis 缓存和 Locust 压测定位并优化。

适合人员

  • 负责 Python 对外 REST 服务,发版前要用 pytest-asyncio、TestClient 补集成测试并维护 OpenAPI 文档的后端工程师。
  • 要把 FastAPI 容器化上 Kubernetes,并配置 Uvicorn/Gunicorn、健康检查与 Prometheus/OpenTelemetry 观测的平台或 DevOps 工程师。
  • 同一服务需 REST 与 GraphQL(Strawberry/Graphene)并存,并统一 API 版本与认证策略的后端架构负责人。
  • 集成外部 HTTP/gRPC/Webhook 调用,需要用 httpx、断路器、结构化日志与请求 ID 追踪线上故障的全栈开发者。