SuperAPI AI 工具集

fastapi-code-review

编程与开发

查看项目

更新于 10-15 21:39

技能介绍

用途:该技能用于审查 FastAPI 应用代码,覆盖路由、依赖注入、验证和异步处理器四类关注点,按需加载参考文档:路由看 routes.md,依赖看 dependencies.md,验证看 validation.md,异步看 async.md。

主要能力:提供审查清单,包括 APIRouter 需带 prefix 与 tags、路由指定 response_model、HTTP 方法正确、状态码恰当(200/201/204/404 等)、依赖使用 Depends() 而非手动调用、yield 依赖正确清理、请求响应模型用 Pydantic、HTTPException 带状态码与 detail、路由处理器为 async def、避免阻塞 I/O(requests、time.sleep、open())、非阻塞操作使用后台任务、路由中不用裸 except。

避免误报:明确列出不应标记的惯用写法,如 Pydantic 自动验证请求体、数据库会话由 Depends() 注入、HTTPException 由 FastAPI 转换响应、async def 无 await 也可能正常、Depends() 上的类型注解仅供 IDE、Query/Path/Body 默认值由运行时处理、返回 dict 在设置 response_model 时自动转换。上下文敏感规则要求仅在确有依据时才标记缺失验证、缺失认证、缺失错误处理或异步中同步阻塞。

使用方式:发现问题后须先运行三个门禁。门禁一核对装饰器 file:line,记录 HTTP 方法、response_model= 与 status_code=;门禁二读完整处理器体,若称阻塞 I/O 需逐项列出阻塞调用及 file:line;门禁三列出参数机制,声明缺失认证需在文件或 APIRouter 模块搜索 Depends、Security、HTTPBearer,声明缺失验证需确认参数非 Pydantic 模型或受约束的 Query/Path/Body。未通过则撤回、降级或改为提问。提交前加载并遵循 review-verification-protocol 的预报告清单。

限制:具体安装方式、运行命令、支持的 FastAPI 版本、收费与平台信息暂未提供。