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

Метод post

Метод post применяется к экземпляру класса APIRouter и вешает функцию на POST-запрос. Первым параметром передаётся путь URL. Вторым параметром можно передать дополнительные настройки, например, статус-код ответа или список зависимостей. Функция возвращает словарь, список или модель, которые FastAPI отдаёт как JSON.

Синтаксис

router.post(path, [response_model], [status_code], [tags], [dependencies])

Пример

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

from fastapi import FastAPI, APIRouter app = FastAPI() router = APIRouter() @router.post('/create') def create_item(): return {'status': 'created'} app.include_router(router)

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

{"status": "created"}

Пример

Давайте примем JSON-тело запроса и вернём его обратно. Для этого используем модель Pydantic:

from fastapi import FastAPI, APIRouter from pydantic import BaseModel app = FastAPI() router = APIRouter() class Item(BaseModel): name: str price: float @router.post('/items/') def create_item(item: Item): return {'item': item} app.include_router(router)

Результат выполнения кода при отправке JSON {"name": "abcde", "price": 10.5}:

{"item": {"name": "abcde", "price": 10.5}}

Пример

Давайте укажем статус-код ответа 201 и тег 'items' для группировки в документации:

from fastapi import FastAPI, APIRouter, status app = FastAPI() router = APIRouter() @router.post('/items/', status_code=status.HTTP_201_CREATED, tags=['items']) def create_item(): return {'status': 'created'} app.include_router(router)

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

{"status": "created"}

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

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