6

Restify (および一般的な NodeJS) を試し始めたところですが、ユーザーの POST データを取得するのに問題があります。

基本的な Node アプリがあります。ドキュメントといくつかのブログ投稿では、queryParser を使用するのと同じくらい簡単ですが、機能していません。問題は CURL コマンドにあると思います。

ノード アプリ:

var restify = require('restify');

function userCreation(request, result, next) {
  console.log(request.body);
  console.log(request.query);
  console.log(request.params);
  result.send({ name: request.params.name });
  return next();
}

var server = restify.createServer({ version: '1.0.0' });
server.use(restify.gzipResponse());
server.use(restify.queryParser());

server.post({ path: '/users', versions: ['1.0.0'] }, userCreation);

server.listen(8080, function() {
  console.log('%s listening at %s', server.name, server.url);
});

カール コマンド:

curl -is -X POST -H 'accept-version: 1.0.0' -d '{ "name": "John" }' http://127.0.0.1:8080/users

curl -is -X POST -H 'accept-version: 1.0.0' -d 'name=John' http://127.0.0.1:8080/users

応答は次のとおりです。

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2
Date: Fri, 01 Nov 2013 09:40:08 GMT
Connection: keep-alive

{}

ノードログは次のとおりです。

restify listening at http://0.0.0.0:8080
undefined
{}
{}

誰かが私を助けてくれることを願っています:)

ケビン

4

2 に答える 2

2

bodyParserの代わりに使用しqueryParserます。

于 2015-01-16T13:42:48.380 に答える