Проверяет знание создания роутера в FastAPI и его сигнатуры для организации маршрутов.
Роутер (APIRouter) — это инструмент для группировки маршрутов в FastAPI. Он позволяет разделить приложение на логические модули, например, отдельные файлы для пользователей, товаров и заказов. Это улучшает читаемость и поддерживаемость кода.
Роутер создается вызовом класса APIRouter с необязательными параметрами:
prefix — общий префикс для всех маршрутов (например, "/api/v1").tags — список тегов для группировки в документации.dependencies — глобальные зависимости для всех маршрутов.Пример:
from fastapi import APIRouter
router = APIRouter(prefix="/items", tags=["items"])
@router.get("/")
async def read_items():
return [{"item_id": 1}]
@router.get("/{item_id}")
async def read_item(item_id: int):
return {"item_id": item_id}Роутер подключается к основному приложению через метод include_router:
from fastapi import FastAPI
from routers import items
app = FastAPI()
app.include_router(items.router)Можно также указать дополнительные параметры, такие как prefix и tags, при подключении.
Использование APIRouter рекомендуется для любого приложения FastAPI, которое имеет более одного эндпоинта. Это упрощает организацию кода, тестирование и повторное использование маршрутов.