Отправка запроса завершается с некоторыми командами curl, но не с другими - PullRequest
0 голосов
/ 12 февраля 2019

У меня настроен пост-маршрут в узле, например:

router.route('/').post((req, res) => {
  pool.query('INSERT INTO users SET ?', req.body, (err, result) => {
      if (err) throw err;
      res.status(201).send(`User added with ID: ${result.insertId}`);
  });
});

Если я использую эту команду curl, она отлично работает, и добавляется пользователь:

curl -d "username=Dinesh Chugtai&email=dinesh@piedpiper.com&password=test" http://localhost:4000/users

Однако, при отправке почтового запроса через Postmate, я получаю эту ошибку: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Postmate также генерирует команду curl, которая выглядит так:

curl -X POST 'http://localhost:4000/users?username=johnsmith&email=john@smith.com&password=password'

Если я набираю это вручную вв командной строке также выдает ту же ошибку.

Почему одна команда curl работает, а другая - нет?Мой почтовый маршрут настроен правильно?

1 Ответ

0 голосов
/ 12 февраля 2019

В вашем определении маршрута Node.js вы ожидаете получить данные в req.body, который является телом запроса POST.

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