Метод include_router
Метод include_router применяется к приложению
FastAPI и подключает к нему объект APIRouter.
Первым параметром передаётся сам роутер.
Дополнительно можно указать префикс пути prefix,
список тегов tags, общие зависимости dependencies
и другие параметры, которые применяются ко всем маршрутам роутера.
Синтаксис
@app.include_router(router, prefix='', tags=None, dependencies=None)
Пример
Давайте создадим роутер с одним маршрутом и подключим его к приложению:
from fastapi import FastAPI, APIRouter
app = FastAPI()
router = APIRouter()
@router.get('/users')
def get_users():
return {'users': ['abcde', 'article']}
app.include_router(router)
Результат выполнения кода для адреса /users:
{"users": ["abcde", "article"]}
Пример
Давайте подключим роутер с префиксом /api и тегом users:
from fastapi import FastAPI, APIRouter
app = FastAPI()
router = APIRouter()
@router.get('/users')
def get_users():
return {'users': ['abcde', 'article']}
app.include_router(router, prefix='/api', tags=['users'])
Результат выполнения кода для адреса /api/users:
{"users": ["abcde", "article"]}
Пример
Давайте передадим общую зависимость verify_token для всех маршрутов роутера:
from fastapi import FastAPI, APIRouter, Depends
app = FastAPI()
router = APIRouter()
def verify_token():
return 'abcde'
@router.get('/users')
def get_users(token: str = Depends(verify_token)):
return {'token': token}
app.include_router(router, dependencies=[Depends(verify_token)])
Результат выполнения кода для адреса /users:
{"token": "abcde"}
Смотрите также
-
класс
FastAPI,
который создаёт приложение FastAPI -
метод
mount,
который подключает подприложение по указанному пути -
метод
add_api_route,
который добавляет отдельный маршрут в приложение -
атрибут
router,
который хранит встроенный роутер приложения