Creating and including routers
Routers# routers/users.py
from fastapi import APIRouter, Depends
router = APIRouter(
prefix="/users",
tags=["users"],
dependencies=[Depends(get_current_user)], # auth all routes
responses={404: {"description": "Not found"}}
)
@router.get("/")
async def list_users(): ...
@router.get("/{user_id}")
async def get_user(user_id: int): ...
# main.py
from routers import users, items, auth
app = FastAPI()
app.include_router(auth.router)
app.include_router(users.router)
app.include_router(items.router, prefix="/api/v1")
# API versioning
app.include_router(v1_router, prefix="/api/v1")
app.include_router(v2_router, prefix="/api/v2")