реагировать на ошибку при публикации в базу данных MS SQL - PullRequest
0 голосов
/ 07 ноября 2019

Я пытаюсь отправить запись в базу данных MS SQL, и я получаю статус внутренней ошибки сервера 500, который является ответом, запрограммированным в API:

exports.create = (req, res) => {
    // Save Budget to MSSQL database
    Budgets.create({
        clientid: req.body.clientid,
        catitem: req.body.catitem,
        subcatitem: req.body.subcatitem,
        startDate: req.body.startDate,
        endDate: req.body.endDate,
        quantity: req.body.quantity,
        frequency: req.body.frequency,
        cost: req.body.cost
    }).then(budget => {
        // Send created budget to budget
        res.send(budget);
    }).catch(err => {
        res.status(500).send("Error -> " + err);
    })
};

Вот коддля публикации записи из клиента:

export const createBudget = (budgetData = {
    clientid: null,
    catitem: '',
    subcatitem: '',
    startDate: '',
    endDate: '',
    quantity: '',
    frquency: '',
    cost: ''
}) => {
    return (dispatch) => {
        const budget = {
            clientid: budgetData.clientid,
            catitem: budgetData.catitem,
            subcatitem: budgetData.subcatitem,
            startDate: budgetData.startDate,
            endDate: budgetData.endDate,
            quantity: budgetData.quantity,
            frequency: budgetData.frequency,
            cost: budgetData.cost
        };

        return axios.post('budgets/create', budget).then(result => {
            dispatch(_createBudget(result.data));
        });
    };
};

Первоначально это работало только с четырьмя столбцами в таблице (clientid, catitem, subcatitem и cost), но мне пришлось добавить дополнительные столбцы, и теперь это не происходит. т работа. Когда я нажимаю на ссылку, показанную в Инструментах разработчика, я получаю страницу, которая гласит: «Cannot GET / api / budgetts / create», но маршрут, определенный в api: «app.post ('/ api / budgetts / create', budgets.create); "

Является ли" Cannot GET / api / budgetts / create "типичным ответом для отказа в публикации или происходит что-то еще? И как мне определить причину сбоя? Также я могу вставить запись в таблицу, используя Azure Data Studio с оператором SQL (разработка на Mac).

1 Ответ

0 голосов
/ 07 ноября 2019

Итак, после дальнейшего анализа я обнаружил, что мне нужно вручную добавить поля созданный At и updatedAt (требуемый Axios) в таблицу базы данных, а затем перезапустить службу Docker MS Sql. Теперь все работает. То, что подтолкнуло меня к этому решению, заключалось в том, что я заметил и проверил первоначальное получение таблицы Бюджетов, и именно это и привело к сбою запроса POST.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...