2

次のように、iron-router で定義された基本的なサーバー側ルートがあります。

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

これは、"/foo" でのリクエストに任意の HTTP アクションで応答しているように見えます。つまり、"/foo" への GET と "/foo" への POST の両方がこのルートをトリガーします。

  1. GET アクションへの応答を制限し、他のアクションを notFound にすることは可能ですか?
  2. 同様に、"/foo" への GET をあるルートで処理し、"/foo" への POST を別のルートで処理することは可能ですか?
4

1 に答える 1

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);
            }
        }
    })
});

2番目の質問は私を打ち負かします。なんとなく使えるかもしれませんがthis.next()、よくわかりません。

于 2014-01-06T05:07:55.287 に答える