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

Метод put класса APIRouter

Метод put применяется к объекту APIRouter и вешает функцию на PUT-запрос. Первым параметром передаётся путь URL. Вторым параметром может передаваться функция-обработчик. Функция возвращает словарь, список или модель, которые FastAPI отдаёт как JSON. Роутер затем подключается к приложению через include_router.

Синтаксис

router.put(path)

Пример

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

from fastapi import APIRouter router = APIRouter() @router.put('/user') def update_user(): return {'text': 'updated'}

Теперь подключим роутер к приложению:

from fastapi import FastAPI from routers.users import router app = FastAPI() app.include_router(router)

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

{"text": "updated"}

Пример

Давайте примем данные из тела запроса через модель Pydantic:

from fastapi import APIRouter from pydantic import BaseModel router = APIRouter() class User(BaseModel): name: str age: int @router.put('/user/{user_id}') def update_user(user_id: int, user: User): return {'user_id': user_id, 'name': user.name, 'age': user.age}

Теперь подключим роутер к приложению:

from fastapi import FastAPI from routers.users import router app = FastAPI() app.include_router(router)

Результат выполнения кода для PUT-запроса на адрес /user/1 с телом {"name": "abcde", "age": 25}:

{"user_id": 1, "name": "abcde", "age": 25}

Пример

Давайте передадим путь и функцию-обработчик явно, без декоратора:

from fastapi import APIRouter router = APIRouter() def update_item(): return {'text': 'item updated'} router.put('/item', update_item)

Теперь подключим роутер к приложению:

from fastapi import FastAPI from routers.users import router app = FastAPI() app.include_router(router)

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

{"text": "item updated"}

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

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