如何为每个expressjs路由功能添加中间件功能?大多数在数据库上变成CRUD的路由函数都有标准的前后语句 - 有没有办法在路由函数之前和之后都有。
app.route('/api/resources').all(projectsPolicy.isAllowed)
.get(resources.list)
.post(resources.create);
答案 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()
等。