2016-07-24 14 views
0

リクエストの種類にかかわらずルートにミドルウェアを適用したいと思います。Expressで経路にミドルウェアを適用する

router.route('/campaigns') 
    .get(restrictTo('advertiser'), restrictTo('admin'), queries.getCampaigns) 
    .post(restrictTo('advertiser'), restrictTo('admin'), queries.createCampaign); 

をそして私は何か希望:現在、私は持っている

router.route('/campaigns', restrictTo('advertiser'), restrictTo('admin')) 
    .get(queries.getCampaigns) 
    .post(queries.createCampaign); 

をしかし、これは動作するようには思えません。

答えて

1

あなたはちょうどそうのような.use()を使用することができるはずです。

router.route('/campaigns') 
    .use(restrictTo('advertiser'), restrictTo('admin')) 
    .get(queries.getCampaigns) 
    .post(queries.createCampaign); 

か:

router.route('/campaigns') 
    .use(restrictTo('advertiser')) 
    .use(restrictTo('admin')) 
    .get(queries.getCampaigns) 
    .post(queries.createCampaign); 
+0

は動作しません... – ocram

+0

は '.ALL()'、 '.USE(する必要があります) 'はルータ全体にのみ適用され、単一ルートには適用されません。 – robertklep

関連する問題