表达前后的路线方法

时间:2016-10-19 12:52:43

标签: node.js express

如何为每个expressjs路由功能添加中间件功能?大多数在数​​据库上变成CRUD的路由函数都有标准的前后语句 - 有没有办法在路由函数之前和之后都有。

  app.route('/api/resources').all(projectsPolicy.isAllowed)
    .get(resources.list)
    .post(resources.create);

2 个答案:

答案 0 :(得分:2)

我认为可以做到这一点:

app.route('/api/resources').all(projectsPolicy.isAllowed)
.get(before,resources.list,after)
.post(before,resources.create,after);

其中前后是函数

答案 1 :(得分:1)

Express支持多个回调,如

app.get('/example/b', function (req, res, next) {
   // do something here, like modify req or res, and then go on

   next();
}, function (req, res) {

   // get modified values here

});

也可以写成

app.route('/api/resources', projectsPolicy.isAllowed).get(...

假设中间件isAllowed()函数调用next()等。