如何在NodeJS路由中正确注入中间件

时间:2019-06-12 17:59:31

标签: node.js express routes middleware

如何将中间件功能“ checkAuthenticated”注入下面的获取路线? 不知道如何正确注入下面的代码。请告诉我。非常感谢。

A1

2 个答案:

答案 0 :(得分:0)

这里有一些选择。我通常使用:

router.use('*', checkAuthenticated);

另一个选择是:

router.get('/:user_id', checkAuthenticated, (req, res) => { ... })

或者,以您的router.route...为例:

router.route('/:user_id').get(checkAuthenticated, (req, res) => { ... })

您还可以将它们链接在一起:

router.route('/:user_id').get(checkAuthenticated).get((req, res) => { ... })

答案 1 :(得分:0)

选中此希望对您有帮助

router.route('/:user_id')
.all((req, res, next) => {
  if (req.user) {
    next();
  } else {
    res.redirect('/');
  }
})
.get((req, res) => {
  res.json(req.user);
});