У меня есть почтовый маршрут, который ожидает отправки имени значения тела в формате JSON.
Мой сервер. js включает в себя:
app.use(express.json({ extended: false }));
Вот как выглядит маршрут:
router.post('/',
[
check('name', 'Name is required!')
.not()
.isEmpty(),
],
async (req, res) => {
const validationErrors = validationResult(req);
if (!validationErrors.isEmpty()) {
return res.status(400).json({ validationErrors: validationErrors.array() });
}
else {
try {
await odbc.connect(cn, (error, connection) => {
console.log(req.body.name)
connection.query(
"INSERT INTO test.amessages(name) VALUES(:req.body.name)",
(error, result) => {
if (error) {
throw error;
}
return res.status(200).json({ result });
}
);
});
}
catch (error) {
console.error(error);
return res.status(500).json({ msg: 'Server Error' });
}
}
});
console.log перед переменной дает мне правильное значение, предоставленное для маршрута. Как правило, при использовании других инструментов, нацеленных на sqlserver, я смог вставить $ {req.body.name}, и это сработало бы. В этом случае это и следующее не сработало - (req.body.name),: req.body.name, (req.body.name) и другие различные комбинации.
Вот пример того, как я передаю значения в маршрут:
{
"name": "Test"
}
Как использовать значения тела в операторе Insert?