Схемы FastAPI для запросов GET с использованием PydanticPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Схемы FastAPI для запросов GET с использованием Pydantic

Сообщение Anonymous »

Введение:
В FastAPI, когда входные данные POST-запроса представляют собой модель Pydantic (как в этом примере), автоматические документы, сгенерированные Fastapi, содержат схему этого объекта ($ ref) (как показано здесь).
Вопрос:
Хотя входные данные запроса GET не могут быть моделью Pydantic (поскольку объекты Pydantic должны быть отправленным внутрь тела раздел запроса, а запросы get не имеют тела – ссылки.
В1. Можно ли использовать модель Pydantic для автоматически создаваемых документов?
Изменить – Да: ответ находится в ответе Криса здесь
Вопрос 2. Можно ли сделать это с вложенными объектами Pydantic (чтобы сгладить поля) Что-то вроде этого:< /p>

Код: Выделить всё

class AnotherBase(BaseModel):
c: str
d: str

class MyBase(BaseModel):
a: str = Query()
b: AnotherBase = Query()

@router.get("/myget")
def my_func(arg: MyBase = Depends()) -> MyBase:
return MyBase(a="1", b="2")
Что я пробовал:
  • Чтобы использовать модель pydantic в качестве входных данных запроса на получение - в результате это невозможно, поскольку запросы get не имеют тела
  • Я пробовал следить за этой веткой, но все же, используя Depends, некоторые входные параметры необходимо отправлять внутри тела, поэтому я получаю эту ошибку от Fastapi «Ошибка типа: не удалось выполнить «выборку» в «Окне»: запрос с методом GET/HEAD не может иметь тело».
  • Я пробовал следуя ответу Криса1, но внутренний объект (b: AnotherBase) по какой-то причине находится в разделе тела (которого не существует)


Подробнее здесь: https://stackoverflow.com/questions/757 ... g-pydantic
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Схемы FastAPI для запросов GET с использованием Pydantic
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Обработка изменений схемы Pydantic в модульных тестах FastAPI
    Anonymous » » в форуме Python
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • В OpenAPI отсутствуют схемы для некоторых моделей Pydantic в приложении FastAPI.
    Anonymous » » в форуме Python
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • Как устранить несоответствие FastApi и pydantic? у вас есть pydantic 2.10.6, который несовместим
    Anonymous » » в форуме Python
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous
  • В чем разница между request.GET.get('username') и request.META.get('HTTP_X_ USERNAME') в DRF
    Anonymous » » в форуме Python
    0 Ответы
    153 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»