SuperAPI AI 工具集

python-fastapi-ops

编程与开发

查看项目

更新于 10-13 17:01

技能介绍

python-fastapi-ops 是一个用于 FastAPI Web 框架模式开发的技能,主要服务于现代异步 API 开发。当内容涉及 fastapi、api endpoint、dependency injection、pydantic model、openapi、swagger、starlette、async api、rest api 等关键词时会触发该技能。

用途: 该技能用于指导基于 FastAPI 构建异步 API,覆盖从应用创建到请求处理、依赖注入、异常处理与路由组织的核心开发环节。

主要能力:

  • 基础应用:提供 FastAPI 应用初始化示例,包括使用 lifespan 上下文管理器处理启动与关闭,例如在启动时创建数据库连接池、在关闭时释放连接,并设置 title 与 version。
  • 请求/响应模型:演示使用 Pydantic(BaseModel、Field、EmailStr)定义带校验的请求模型,以及定义响应模型并启用 ORM 模式(model_config 中的 from_attributes),并在路由中通过 response_model 与 status_code 指定响应结构与状态码。
  • 路径与查询参数:使用 Annotated 搭配 Path 与 Query,为路径参数与查询参数添加约束和描述,如 ge、le、description 以及默认值与可选搜索参数。
  • 依赖注入:展示 get_db 数据库会话依赖与 get_current_user 认证依赖的写法,并通过 Annotated 定义可复用的 DB 与 CurrentUser 类型;认证失败时抛出 HTTPException。
  • 异常处理:包含内置 HTTPException 的使用,以及通过 app.exception_handler 注册自定义异常处理器并返回 JSONResponse 的方式。
  • 路由组织:使用 APIRouter 按模块组织路由,设置 prefix 与 tags,并在主应用中通过 include_router 挂载,可为部分路由统一添加前缀。
  • 快速参考:以表格形式列举路径参数、查询参数、请求体、依赖、认证、响应模型与状态码的常用写法。

使用方式: 技能主体以代码示例与说明组织,涉及具体写法时给出可直接参考的代码片段。此外提供以下资源:参考文档包括 ./references/dependency-injection.md(高级 DI 模式、作用域、缓存)、./references/middleware-patterns.md(中间件链、CORS、错误处理)、./references/validation-serialization.md(Pydantic v2 模式、自定义校验器)、./references/background-tasks.md(后台任务、异步 worker、调度)。脚本 ./scripts/scaffold-api.sh 用于生成 API 端点样板代码。资产 ./assets/fastapi-template.py 提供生产级 FastAPI 应用骨架。

适用场景: 适合需要以 FastAPI 开发异步 REST API 的场景,包括定义带校验的请求/响应模型、组织路由、实现依赖注入与认证、处理异常与自定义错误响应等。

前置与相关技能: 前置技能为 python-typing-ops(Pydantic 模型与类型提示)和 python-async-ops(异步端点模式)。相关技能包括 python-database-ops(SQLAlchemy 集成)、python-observability-ops(日志、指标、追踪中间件)、python-pytest-ops(使用 TestClient 进行 API 测试)。

限制: 资料未提供该技能的具体安装方式、收费信息、支持的平台以及实际效果等,暂未提供相关说明。