FastAPI不仅支持拆分路由到多个文件中,而且鼓励这样做。这种方式可以让代码更易于维护和管理。
一种常见的做法是将路由放到一个routes
目录中,然后在主main.py
中引入这些路由。
下面是一个例子:
app
├── main.py
└── routes
├── __init__.py
├── users.py
└── items.py
在routes
目录中,我们可以将路由按照功能模块化:
#users.py
from fastapi import APIRouter
router = APIRouter()
@router.get("/users/")
async def read_users():
return [{"username": "Rick"}, {"username": "Morty"}]
#items.py
from fastapi import APIRouter
router = APIRouter()
@router.get("/items/")
async def read_items():
return [{"name": "Item One"}, {"name": "Item Two"}]
然后,在主main.py
中我们可以引入这些路由:
from fastapi import FastAPI
from routes.users import router as user_router
from routes.items import router as item_router
app = FastAPI()
app.include_router(user_router)
app.include_router(item_router)
这样就完成了路由拆分的操作。