Метод include_router
Метод include_router применяется к экземпляру
FastAPI или к другому APIRouter и
добавляет в него все маршруты указанного роутера.
Первым параметром передаётся объект APIRouter.
Вторым необязательным параметром можно задать
prefix - префикс пути, который будет добавлен
ко всем маршрутам подключаемого роутера. Также можно
передать tags, dependencies и
responses, которые применятся ко всем его
обработчикам.
Синтаксис
app.include_router(router, prefix='/api', tags=['api'])
Пример
Давайте создадим отдельный роутер и подключим его
к приложению с префиксом '/users':
from fastapi import FastAPI, APIRouter
app = FastAPI()
router = APIRouter()
@router.get('/')
def get_users():
return {'users': ['a', 'b', 'c']}
app.include_router(router, prefix='/users')
Результат выполнения кода для адреса /users:
{"users": ["a", "b", "c"]}
Пример
Давайте подключим два роутера и зададим им разные теги:
from fastapi import FastAPI, APIRouter
app = FastAPI()
users_router = APIRouter()
items_router = APIRouter()
@users_router.get('/')
def get_users():
return {'users': ['a', 'b', 'c']}
@items_router.get('/')
def get_items():
return {'items': [1, 2, 3]}
app.include_router(users_router, prefix='/users', tags=['users'])
app.include_router(items_router, prefix='/items', tags=['items'])
Результат выполнения кода для адреса /items:
{"items": [1, 2, 3]}