Передача JSON-объектов в теле запроса

Для некоторых типов запросов нам нужно в качестве значения в теле запроса передавать JSON-объект. Часто это бывает для POST-запросов, для PATCH-запросов, то есть для запросов на добавление данных в базу данных, на обновление данных в базе данных. Соответственно, данные должны передаваться не параметрами пути, либо параметрами запроса, а JSON-объектом прямо в теле запроса. Выглядеть это должно таким образом.

Реализация в FastAPI с использованием Pydantic

Таким образом мы можем организовать такую структуру в FastAPI приложении. Делается это достаточно просто. Используется пакет Pydantic и создается тот тип данных, который должен принимать наш аргумент. Я указал, что это у нас базовая модель Pydantic item. У item есть имя, description и price. Теперь мы передаем этот item сюда с указанием типа item. Как вы видите, у нас теперь появилась возможность передавать такой объект и, соответственно, использовать его внутри нашей функции. То есть внутри нашей функции мы можем к нему обращаться: item.price, например, и производить какие-то действия с этим объектом. Вот такая возможность.