FastAPI — запрос GET с полем Pydantic List в качестве параметра запросаPython

Программы на Python
Anonymous
FastAPI — запрос GET с полем Pydantic List в качестве параметра запроса

Сообщение Anonymous »

Я новичок в FastAPI (перешел с Flask) и пытаюсь создать модель Pydantic для моего маршрута GET:

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

from fastapi import APIRouter,Depends
from pydantic import BaseModel
from typing import Optional,List

router = APIRouter()

class SortModel(BaseModel):
field:    Optional[str]
directions: List[str]

@router.get("/pydanticmodel")
def get_sort(criteria: SortModel = Depends(SortModel)):
pass #my code for handling this route.....
Когда я бегаю:

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

curl -X GET http://localhost:XXXX/pydanticmodel?directions=up&directions=asc&field=id
Я получаю:

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

422 Unprocessable Entity: {"detail":[{"loc":["body"],"msg":"field required","type":"value_error.missing"}]}
Но если я изменю направления: List[str] на маршруты: str, я получу 200 ОК с направлениями="asc"< /code>.
По какой причине str работает для параметра запроса, а List[str] — нет? Что я делаю не так?
Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/638 ... -parameter

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