РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
31 of 307 menu

Атрибут router

Атрибут router доступен у каждого экземпляра класса FastAPI и представляет собой объект APIRouter. В этот роутер FastAPI автоматически добавляет все маршруты, которые регистрируются через декораторы get, post, put, api_route и другие. Через атрибут router можно напрямую управлять маршрутами: перебирать их, добавлять свои, подключать вложенные роутеры и проверять их свойства.

Синтаксис

app.router

Пример

Давайте посмотрим, какие маршруты FastAPI складывает в атрибут router после регистрации обработчика:

from fastapi import FastAPI app = FastAPI() @app.get('/') def index(): return {'text': 'hello'} for route in app.router.routes: print(route.path, route.methods)

Результат выполнения кода:

/ {'GET'} /openapi.json {'GET'} /docs {'GET'} /docs/oauth2-redirect {'GET'} /redoc {'GET'}

Пример

Атрибут router можно использовать, чтобы добавить маршрут без декоратора, напрямую через метод add_api_route:

from fastapi import FastAPI app = FastAPI() def hello(): return {'text': 'hello'} app.router.add_api_route('/hello', hello, methods=['GET'])

Результат выполнения кода для адреса /hello:

{"text": "hello"}

Пример

Давайте подключим отдельный роутер к приложению через атрибут router и метод include_router:

from fastapi import FastAPI, APIRouter app = FastAPI() router = APIRouter() @router.get('/user') def user(): return {'name': 'abcde'} app.router.include_router(router)

Результат выполнения кода для адреса /user:

{"name": "abcde"}

Смотрите также

  • класс FastAPI,
    которому принадлежит атрибут router
  • метод include_router,
    который подключает роутер к приложению
  • метод add_api_route,
    который добавляет маршрут напрямую в роутер
  • метод api_route,
    который регистрирует обработчик через декоратор
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить