是否可以定义响应某些HTTP操作的铁路由器服务器端路由?

时间:2014-01-06 04:37:56

标签: meteor iron-router

我在铁路由器中定义了基本的服务器端路由,如:

this.route('foo', {
  where: 'server',
  path: '/foo',
  action: function() {
    // handle response
  }
});

这似乎响应了“/ foo”中任何HTTP操作的请求,即GET为“/ foo”,POST为“/ foo”都触发此路由。

  1. 是否可以限制对GET操作的响应,并让 其他行动不是发现?
  2. 同样,是否有可能获得GET “/ foo”由一个路由处理,POST到“/ foo”由另一个路由处理?

1 个答案:

答案 0 :(得分:3)

您绝对可以检查该方法,只有在您想要的方法时才会回复,例如:

Router.map(function () {
    this.route('route', {
        path: '/mypath',
        where: 'server',
        action: function() {
            if (this.request.method != 'GET') {
                // do whatever
            } else {
                this.response.writeHead(404);
            }
        }
    })
});

第二个问题打败了我。有可能以某种方式使用this.next(),但我不确定。