Я отправляю данные в reify API, но не могу найти в настоящее время примеры доступа к опубликованным данным. Как это работает?
Как получить доступ к данным, опубликованным в файле restify 1.x.x?
Ответ 1
Я нашел ответ. Один из включенных плагинов должен быть активирован, restify.bodyParser
. Затем данные можно найти либо в req.params
(по умолчанию), либо в req.body
(mapParams: false
), в зависимости от настроек (посмотрите конкретно в разделе BodyParser).
Пример:
server.use(restify.bodyParser({ mapParams: false })); // mapped in req.body
Или:
server.use(restify.bodyParser()); // mapped in req.params
Ответ 2
Очень просто:
server.use(restify.bodyParser({ mapParams: false }));
Вам нужно активировать bodyParser в обновлении
Ответ 3
Для restify 5.0.0+
используйте:
server.use(restify.plugins.bodyParser());
https://github.com/restify/node-restify/issues/1394#issuecomment-312728341
Для более старых версий используйте:
server.use(restify.bodyParser());
После того, как вы сообщите об обновлении для использования промежуточного программного обеспечения bodyParser
, тело запроса будет доступно в свойстве тела объектов запроса:
server.post('/article', (req, res, next) => {
console.log(req.body)
next()
})
Ответ 4
Этот код напечатает тело запроса на консоли:
var restify = require('restify');
var server = restify.createServer();
// This line MUST appear before any route declaration such as the one below
server.use(restify.bodyParser());
server.post('/customer/:id', function (req, resp, next) {
console.log("The request body is " + req.body);
response.send("post received for customer " + req.params.id + ". Thanks!");
return next();
});