FastAPI возвращает «Ошибка 422: необрабатываемый объект», когда я отправляю данные составной формы с помощью API JavaScrPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 FastAPI возвращает «Ошибка 422: необрабатываемый объект», когда я отправляю данные составной формы с помощью API JavaScr

Сообщение Anonymous »

У меня возникла проблема с использованием метода Fetch API JavaScript при отправке некоторых простых данных формы, например:

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

function register() {
var formData = new FormData();
var textInputName = document.getElementById('textInputName');
var sexButtonActive = document.querySelector('#buttonsMW > .btn.active');
var imagesInput = document.getElementById('imagesInput');

formData.append('name', textInputName.value);
if (sexButtonActive != null){
formData.append('sex', sexButtonActive.html())
} else {
formData.append('sex', "");
}
formData.append('images', imagesInput.files[0]);

fetch('/user/register', {
method: 'POST',
data: formData,
})
.then(response => response.json());
}
document.querySelector("form").addEventListener("submit", register);
И на стороне сервера (FastAPI):

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

@app.post("/user/register", status_code=201)
def register_user(name: str = Form(...), sex: str = Form(...), images: List[UploadFile] = Form(...)):
try:
print(name)
print(sex)
print(images)
return "OK"
except Exception as err:
print(err)
print(traceback.format_exc())
return "Error"
После нажатия кнопки «Отправить» я получаю сообщение об ошибке 422: Необрабатываемый объект. Итак, если я пытаюсь добавить заголовок Content-Type: multipart/form-data, это также не поможет, потому что я получаю еще одну ошибку 400: неверный запрос. Я хочу понять, что я делаю не так, и как обработать formData без таких ошибок?

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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