1

我正在使用 hapi.js,但我不清楚一件事。如果我在路径中发出 api 请求传递参数,我可以通过在处理程序中调用 request.params 来获取这些参数。当我以查询的形式请求时,路径应该是什么?在第一种情况下,我在路径属性中放置 /{param} 之类的东西,但在第二种情况下?

4

1 回答 1

6

您可以使用request.query. 四个属性保存请求数据:

  • headers:原始请求标头(参考request.raw.headers)。
  • params:一个对象,其中每个键都是具有匹配值的路径参数名称。
  • payload:基于路由payload.outputpayload.parse设置的请求负载。
  • query: 包含查询参数的对象。

您可以在API 参考中找到更多信息。

编辑:这是一个例子:

var Hapi = require('hapi');
var server = new Hapi.Server(3000);

server.route({
  method: 'GET',
  path: '/',
  handler: function (request, reply) {
    console.log(request.query.example);
  }
});

server.start(function () {
  console.log('Server running at:', server.info.uri);
});

如果您访问http://localhost:3000/?example=hapi,它将登录hapi到控制台。

于 2014-08-27T20:42:54.280 回答