Ошибка: "msg": "Input Should be a valid dictionary or object to extract fields from input" при fetch запросе POST в FastAPI

Пишу аналог для google forms. Администратор создает новые опросники. Заранее не известно сколько вопросов будет в опроснике, поэтому через js создаю новые теги:

<div class="create_new">
    <div class="opros_settings">
        <div class="settings_header">
            <p>Настройки Опросника</p>
        </div>
        <div class="settings">
            <input type="submit" value="Создать Новое Поле Ввода" id="newInput">
            <input type="submit" value="Создать Новое Поле Выбора Одного" id="newOneOfFew">
            <input type="submit" value="Создать Новое Поле Выбора Нескольких">
        </div>
    </div>
    <div id="oprosnik">
        <form method="POST" action="/handler_new_opros" id="oprosnik_form">
        <input type="text" placeholder="Название Опросника" name="name" id="opros_name">

        <input type="submit" value="Создать Опросник" id="newSendButton">
        </form>
    </div>
</div>

Вот сам JS код создания

    var whereToAdd = document.getElementById('oprosnik_form');

    var buttonNewInput = document.getElementById('newInput');
    var inputCount = 0;

buttonNewInput.addEventListener('click', function(){
    var newInput = document.createElement('input');
    
    inputCount++;
    newInput.type = 'text';
    newInput.id = 'Input';
    newInput.classList.add('Input');
    newInput.placeholder = 'Введите сюда текст вопроса';
    newInput.name = 'input_value_' + inputCount;

    whereToAdd.insertBefore(newInput, createOprosButton);
});

Вот маршрут на который я пишу Fetch запрос:

class Oprosnik(BaseModel):
   opros_name: str
   input_count: int
   input_value: str

    @app.post('/handler_new_opros', response_class=JSONResponse)
    async def handler_new_opros(oprosnik: Oprosnik):
       try:
           create_new_oprosnik(dbcon, dbcur, oprosnik.opros_name, oprosnik.input_count, oprosnik.input_value)
           return {'msg': 'good'}
       except Exception as e:
           raise HTTPException(status_code=500, detail=str(e))

Вот fetch запрос на чисто js:

var createOprosButton = document.getElementById('newSendButton');

createOprosButton.addEventListener('click', function(){
    var opros_name = document.getElementById('opros_name').value;
    var inputs = document.querySelectorAll('.Input');
    var values = Array.from(inputs).map(input => input.value).join(',');

    var data = {
        "opros_name": opros_name,
        "input_count": inputs.length,
        "input_value": values
    }

    
    var json_data = JSON.stringify(data);

    fetch('https://192.168.43.47:8000/handler_new_opros', {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json'
        },
        body: json_data
    })
    .then(response => response.json())
    .then(data => {
        // alert(data);
    })
    .catch(error => {
        // alert('Ошибка:', error);
    });

});

Ошибка, которая появляется когда уже нажимаю кнопку отправить:

Input should be a valid dictionary or object to extract fields from


Ответы (0 шт):