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

Метод add_api_route

Метод add_api_route применяется к приложению FastAPI и позволяет добавить маршрут программно, без использования декораторов. Это удобно, когда маршруты формируются динамически во время работы приложения. Первым параметром передаётся путь URL, вторым - функция-обработчик. Дополнительно можно указать HTTP-метод через параметр methods и другие опции маршрута.

Синтаксис

app.add_api_route(path, endpoint, methods=None, **kwargs)

Пример

Давайте добавим обработчик на адрес '/' динамически, без декоратора:

from fastapi import FastAPI app = FastAPI() def index(): return {'text': 'hello'} app.add_api_route('/', index)

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

{"text": "hello"}

Пример

Давайте укажем HTTP-метод через параметр methods и примем параметр name из URL:

from fastapi import FastAPI app = FastAPI() def user(name: str): return {'name': name} app.add_api_route('/user/{name}', user, methods=['GET'])

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

{"name": "abcde"}

Пример

Давайте добавим маршрут для POST-запроса с тегом tags и статус-кодом:

<+python+> from fastapi import FastAPI app = FastAPI() def create_user(): return {'status': 'created'} app.add_api_route( '/user', create_user, methods=['POST'], status_code=201, tags=['users'] ) <-python+>

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

{"status": "created"}

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

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