mcpField
F
fastapi-router-creator

fastapi-router-creator

github.com/first-fluke开发22546 次安装3 天前更新
代码仓库

关于 fastapi-router-creator

帮助开发者构建易维护 FastAPI 路由器的技能,介绍模块化和基于文件的路由,并说明前缀、标签、依赖项及 API 版本组织。

主要功能

  1. 01模块化路由组织
  2. 02基于文件的路由方式
  3. 03路由级前缀与标签
  4. 04路由共享依赖项
  5. 05按版本组织 API 命名空间

适用场景

  1. 01按资源组织端点
  2. 02为路由统一应用身份验证依赖
  3. 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}

最佳实践

  1. 前缀:在包含路由器时设置前缀,而不是在每个端点装饰器中设置。
  2. 标签:使用标签对 OpenAPI 文档中的端点进行分组。
  3. 依赖项:如果某个依赖项(例如身份验证)适用于路由器中的所有端点,则在路由器级别应用该依赖项。
    router = APIRouter(dependencies=[Depends(get_current_active_user)])
    
  4. 版本:按 API 版本(v1、v2)对路由器进行命名空间划分。

评论

支持 Markdown