关于 fastapi-router-creator
帮助开发者构建易维护 FastAPI 路由器的技能,介绍模块化和基于文件的路由,并说明前缀、标签、依赖项及 API 版本组织。
主要功能
- 01模块化路由组织
- 02基于文件的路由方式
- 03路由级前缀与标签
- 04路由共享依赖项
- 05按版本组织 API 命名空间
适用场景
- 01按资源组织端点
- 02为路由统一应用身份验证依赖
- 03组织版本化 FastAPI API
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ first-fluke/ fullstack-starter --skill fastapi-router-creator安装后在 Claude Code 中输入/fastapi-router-creator确认已加载。
详细介绍
FastAPI 路由创建器
本技能指导如何创建模块化、结构清晰的 FastAPI 路由,着重强调可维护性和可扩展性。
路由策略
1. 模块化路由模式(标准)
这是 FastAPI 中最常见且最推荐的做法。
结构:
src/api/v1/endpoints/
├── users.py
├── items.py
└── auth.py
实现:
src/api/v1/endpoints/users.py:
from fastapi import APIRouter
router = APIRouter()
@router.get("/")
async def get_users():
...
src/api/v1/api.py(聚合器):
from fastapi import APIRouter
from src.api.v1.endpoints import users, items
api_router = APIRouter()
api_router.include_router(users.router, prefix="/users", tags=["users"])
api_router.include_router(items.router, prefix="/items", tags=["items"])
2. 基于文件的路由(fastapi-router)
如果想获得类似 Next.js 的体验,可让文件结构决定 URL。(需要 fastapi-router 库或自定义遍历器)。
结构:
src/app/
├── api/
│ ├── users/
│ │ ├── route.py # Handles /api/users
│ │ └── [id]/
│ │ └── route.py # Handles /api/users/{id}
最佳实践
- 前缀:在包含路由器时设置前缀,而不是在每个端点装饰器中设置。
- 标签:使用标签对 OpenAPI 文档中的端点进行分组。
- 依赖项:如果某个依赖项(例如身份验证)适用于路由器中的所有端点,则在路由器级别应用该依赖项。
router = APIRouter(dependencies=[Depends(get_current_active_user)]) - 版本:按 API 版本(
v1、v2)对路由器进行命名空间划分。
评论
支持 Markdown