Не удается получить тело запроса с изменением при помощи Почтальона для отправки данных - PullRequest
0 голосов
/ 29 мая 2018

Я использую сервер восстановления (версия узла v9.11.1, версия восстановления 6.4.0).

Вот моя конфигурация сервера:

server.use(restify.plugins.queryParser({  mapParams: true }))
server.use(restify.plugins.bodyParser({  mapParams: true }));
server.pre(restify.plugins.pre.userAgentConnection());
server.use(restify.plugins.acceptParser(server.acceptable));

server.pre(cors.preflight);
server.use(cors.actual);

Теперь я хочупротестировать с примером кода, используя Почтальон.Я хочу проверить параметры запроса и параметры тела:

server.post('/ping/:param1', (req, res, next ) => {
console.log(req.params);
console.log(req.body);
res.send(200, { "ping" :true} );
return next() ;
});

Мои конфигурации Почтальона:

  • Тип содержимого как application / json
  • POST по URL: http://127.0.0.1:8080/ping/value1 (для проверки параметров запроса)
  • Тело в виде "Raw" с содержимым: {"hello":"world"} (для проверки данных тела)

После запроса POST я могу получить параметры запроса, но не могу получить данные тела:

{ param1: 'value1' }
undefined

1 Ответ

0 голосов
/ 02 июня 2018

Я только что создал простой сервер restify с настройками сервера, которые вы перечислили выше, за исключением того, что пропустил cors.Затем я подключился к серверу с помощью curl:

curl -F "hello=world" localhost:5555/ping/goodbye

и получил это на сервере stdout:

{ param1: 'goodbye', hello: 'world' }
{ hello: 'world' }

Я не использую Почтальон, поэтому я не могу сказать, может ли этоне работает правильно для вас, но это работает нормально с curl.

Моя информация о версии выглядит следующим образом.

process.versions {http_parser: '2.7.0', узел:'8.2.1', v8: '5.8.283.41', uv: '1.13.1', zlib: '1.2.11', ares: '1.10.1-DEV', модули: '57', openssl: '1.0.2l ', icu: '59 .1', юникод: '9.0', cldr: '31 .0.1 ', tz:' 2017b '}

...