Невозможно добавить элементы в базу данных SQL в бэкэнд-проекте ReactJS - PullRequest
0 голосов
/ 09 января 2019

enter image description here

Так что я пытаюсь просто сделать POST-запрос к моему бэкэнду, где в конечном итоге пользователь может просто добавить элемент, который должен быть отправлен в БД, а не возвращен. когда я делаю случайный запрос, используя Postman, добавляя данные JSON, он постоянно говорит мне, что я пытаюсь поместить нулевые элементы в каждую строку.

это мой код в папке БД

INSERT INTO ecomerce_products
(item_id, name, price, description, img_url, quantity)
VALUES($1, $2, $3, $4, $5, $6)
RETURNING *;

это мой код в файле моего контроллера

module.exports = {
addToProducts(req, res, next) {
    const db = req.app.get("db");
    const { item_id, name, price, description, img_url, quantity } 
= req.params;
    db.addToProducts([item_id, name, price, description, img_url, 
quantity])
        .then(response => {
            res.status(200).send(response);
        })
        .catch(err => res.status(500).send(err));
 }
 };

1 Ответ

0 голосов
/ 09 января 2019

Я надеюсь, что вы используете Express или какой-то другой фреймворк. Если вы делаете пост-запрос, данные должны быть переданы через тело запроса. Следовательно, req.params не должен иметь этих свойств, поэтому он дает ноль.

module.exports = {
addToProducts(req, res, next) {
    const db = req.app.get("db");
    console.log(req.body);
    const { item_id, name, price, description, img_url, quantity }
= req.body;

    db.addToProducts([item_id, name, price, description, img_url,
quantity])
        .then(response => {
            res.status(200).send(response);
        })
        .catch(err => res.status(500).send(err));
 }
 };

Попробуйте что-то вроде этого и посмотрите, получаете ли вы данные.

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