Использование смешанных форм запроса и файлов с аннотациями и необязательными полямиPython

Программы на Python
Anonymous
Использование смешанных форм запроса и файлов с аннотациями и необязательными полями

Сообщение Anonymous »

Я хотел бы опубликовать поля смешанной формы и загрузить файлы в конечную точку FastAPI. В документации FastAPI указано, что вы можете смешивать параметры, используя Annotated и библиотеку python-multipart, например

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

@router.post("/upload")
async def upload_contents(
an_int: Annotated[int, Form()],
a_string: Annotated[str, Form()],
some_files: Annotated[list[UploadFile], File()]
):
Однако, если я хочу сделать публикацию a_string необязательной, я не нашел способа сделать это.
У меня есть пробовал такие вещи, как:

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

@router.post("/upload")
async def upload_contents(
an_int: Annotated[int, Form()],
a_string: Annotated[Union[str, None], Form()],
some_files: Annotated[list[UploadFile], File()]
):
А также по предложению @flakes:

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

@router.post("/upload")
async def upload_contents(
an_int: Annotated[int, Form()],
a_string: Optional[Annotated[str], Form()]],
some_files: Annotated[list[UploadFile], File()]
):
Во время их выполнения сервер все еще запрашивает параметр a_string. Любые рекомендации будут с благодарностью приняты.


Подробнее здесь: https://stackoverflow.com/questions/760 ... nal-fields

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