fastapi 路由

第1层: 各模块定义路由
    ↓
第2层: v1/router.py 聚合路由
    ↓
第3层: main.py 注册到应用

第1层:定义路由

# app/v1/admin/users.py
from fastapi import APIRouter

router = APIRouter()  # ← 创建路由器

@router.get("")  # 路径是空的
async def get_users():
    return {"users": [...]}

@router.post("")
async def create_user():
    return {"msg": "创建成功"}

聚合路由

# app/v1/router.py
from fastapi import APIRouter
from app.v1.admin import users as admin_users

api_router = APIRouter()  # ← 创建总路由器

# 注册管理后台用户路由
api_router.include_router(
    admin_users.router,    # ← 第1层的 router
    prefix="/admin/users", # ← 添加前缀
    tags=["管理后台-用户"]
)

此时路由变成:

GET /admin/users → get_users()
POST /admin/users → create_user()

第3层:注册到应用

# app/main.py
from fastapi import FastAPI
from app.v1.router import api_router

app = FastAPI()

# 注册 v1 路由
app.include_router(
    api_router,        # ← 第2层的 api_router
    prefix="/api/v1"   # ← 再添加前缀
)
posted @ 2025-11-18 11:35  窦戈  阅读(10)  评论(0)    收藏  举报