FastAPI + Pydantic не анализирует параметры запроса List[int] (несколько значений не работают)Python

Программы на Python
Ответить
Anonymous
 FastAPI + Pydantic не анализирует параметры запроса List[int] (несколько значений не работают)

Сообщение Anonymous »

Я пытаюсь принять несколько параметров запроса в виде списка с помощью FastAPI и Pydantic, но это не работает должным образом.
Пример запроса:

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

GET /api/v1/items/guest?industries=4&industries=5&industries=6
Моя модель Pydantic:

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

from pydantic import BaseModel
from typing import Optional, List

class GuestGetItemsSchema(BaseModel):
s: Optional[str] = None
latitude: Optional[float] = None
longitude: Optional[float] = None
industries: Optional[List[int]] = None
page_size: Optional[int] = None
next_token: Optional[str] = None
previous_token: Optional[str] = None
Конечная точка:

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

from fastapi import Depends

@app.get("/api/v1/items/guest")
async def get_services(schema: GuestGetItemsSchema = Depends()):
return schema
Проблема:
  • Список отраслей всегда пуст или отсутствует
  • Он не анализирует несколько параметров запроса в список
  • Другие поля работают нормально
Что я ожидается:

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

{
"industries": [4, 5, 6]
}
Что я получаю:

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

{
"industries": null
}
Как правильно проанализировать несколько параметров запроса в List[int] внутри модели Pydantic при использовании Depends() в FastAPI?
Есть ли правильный способ привязать параметры запроса FastAPI, такие как ?industries=1&industries=2, к полю списка в модели?
Это работает, когда я передаю параметр запроса напрямую, но не при проверке модели Pydantic.
Ответить

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

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

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

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

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