FastAPI 路由规范
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/fastapi-router-py。
技能介绍
问题背景
在 FastAPI 项目里,每新增一个资源(如 projects、users)往往要重复写路由文件、挂载、Depends 认证、Pydantic 响应模型和 404/422 等状态码。团队若没有统一约定,容易出现 async def 里调阻塞 I/O、资源生命周期乱建乱关、前后端路径不一致等问题。
技能如何工作
本技能以 assets/template.py 为起点:把 {{ResourceName}}、{{resource_name}}、{{resource_plural}} 换成实际资源名,即可得到一套与项目既有模式对齐的路由骨架。文档中单独说明认证模式、响应模型与 HTTP 状态码的写法,并给出固定集成顺序:
- 在
src/backend/app/routers/新建路由 - 在
src/backend/app/main.py挂载 - 补充对应 Pydantic 模型
- 按需加服务层
- 在前端补 API 调用函数
最佳实践强调:按端点是否涉及异步 I/O 选 def 或 async def;数据库连接池、HTTP 客户端等长生命周期对象放在 lifespan 里,经 Depends 注入;单次请求资源用 with / async with 管理。
适用边界
这是路由结构与约定脚手架,不会替你实现具体业务逻辑或 ORM 查询。更细的非核心能力、操作组覆盖与上线检查项见 references/capabilities.md,需自行对照项目安全与部署策略。
使用场景
- 在既有 FastAPI 单体里新增 `projects` 资源,需要按团队模板补齐路由、挂载与响应模型
- 接手他人后端代码,要把新 CRUD 端点的认证、`Depends` 与 HTTP 状态码写成与现有 routers 一致
- 同一功能要同时改 `main.py` 挂载、Pydantic 模型与前端 API 函数,希望按固定五步清单逐项核对
- 评审发现 `async def` 处理器里调了阻塞 I/O,需要按技能里的 lifespan 与 def/async 约定改资源生命周期
适合人员
- 维护 `src/backend/app/routers/` 的后端工程师,经常要按统一模式加新资源接口
- 负责 API 规范的技术负责人,希望新路由在认证、响应模型与状态码上与存量代码对齐
- 在同一仓库里改后端路由并同步前端 API 调用的全栈开发者
- 刚加入项目、需要从 `assets/template.py` 快速摸清路由集成路径的新人