Как загрузить файлы и список словарей, используя BaseModel Pydantic в FastAPI? ⇐ Python
Как загрузить файлы и список словарей, используя BaseModel Pydantic в FastAPI?
У меня есть следующий пример кода:
из файла импорта fastapi, UploadFile, Request, FastAPI, Depends от ввода списка импорта из fastapi.responses импортировать HTMLResponse из pydantic импорта BaseModel, Field от ввода импорта Необязательно приложение = ФастAPI() класс BaseBox(BaseModel): л: float=Поле(...) т: float=Поле(...) r: float=Поле(...) б: float=Поле(...) класс BaseInput(BaseModel): поля: List[BaseBox] = Поле(...) слова: List[str] = Поле(...) ширина: Необязательно[float] = Поле(...) высота: Необязательно[float] = Поле(...) @app.post("/submit") определенно отправить( base_input: BaseInput = Зависит(), file: UploadFile = File(...), # Добавьте эту строку, чтобы принять файл ): возвращаться { «Полезная нагрузка JSON»: base_input, «Имя файла»: файл.имя файла, } @app.get("/") Защиту основного (запрос: Запрос): вернуть {"статус":"жив"} но почему-то я не могу заставить это работать. Я использую интерактивную документацию API, но всегда получаю сообщение об ошибке. Думаете, мне придется вместо этого отправить 2 файла? Я тоже пробовал
curl -X 'POST' \ 'http://localhost:8007/submit?width=10&height=10' \ -H 'принять: приложение/json' \ -H 'Тип контента: multipart/form-data' \ -F 'file=@test.png;type=image/png' \ -F 'коробки={ «л»: 0, «т»: 0, «р»: 0, "б": 0 }' \ -F 'words=test,test2,tes3,test' но я всегда получаю сообщение об ошибке "POST /submit?width=10&height=10 HTTP/1.1" 422 Необрабатываемый объект.
У меня есть следующий пример кода:
из файла импорта fastapi, UploadFile, Request, FastAPI, Depends от ввода списка импорта из fastapi.responses импортировать HTMLResponse из pydantic импорта BaseModel, Field от ввода импорта Необязательно приложение = ФастAPI() класс BaseBox(BaseModel): л: float=Поле(...) т: float=Поле(...) r: float=Поле(...) б: float=Поле(...) класс BaseInput(BaseModel): поля: List[BaseBox] = Поле(...) слова: List[str] = Поле(...) ширина: Необязательно[float] = Поле(...) высота: Необязательно[float] = Поле(...) @app.post("/submit") определенно отправить( base_input: BaseInput = Зависит(), file: UploadFile = File(...), # Добавьте эту строку, чтобы принять файл ): возвращаться { «Полезная нагрузка JSON»: base_input, «Имя файла»: файл.имя файла, } @app.get("/") Защиту основного (запрос: Запрос): вернуть {"статус":"жив"} но почему-то я не могу заставить это работать. Я использую интерактивную документацию API, но всегда получаю сообщение об ошибке. Думаете, мне придется вместо этого отправить 2 файла? Я тоже пробовал
curl -X 'POST' \ 'http://localhost:8007/submit?width=10&height=10' \ -H 'принять: приложение/json' \ -H 'Тип контента: multipart/form-data' \ -F 'file=@test.png;type=image/png' \ -F 'коробки={ «л»: 0, «т»: 0, «р»: 0, "б": 0 }' \ -F 'words=test,test2,tes3,test' но я всегда получаю сообщение об ошибке "POST /submit?width=10&height=10 HTTP/1.1" 422 Необрабатываемый объект.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как загрузить файлы и список словарей, используя BaseModel Pydantic в FastAPI?
Anonymous » » в форуме Python - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-