无论如何要为特定操作添加一些中间件?因为据我所知 addPreProcessor 将中间件添加到所有操作中?假设您不想对某些操作进行身份验证或其他检查,有什么解决方案吗?
我有一个短期解决方案,但是如果您可以在定义操作时分配特定的中间件,那就太好了(例如按顺序给出需要运行的中间件名称数组)
我当前的解决方案是保留我需要将中间件应用到它们的所有操作的数组,然后根据 connection.aciton 检查它,但是每个请求仍然通过所有中间件,然后它被传递它不会对我来说听起来效率不高!
exports.middlewares = function(api, next){
var myImportantMiddleware = function(connection, actionTemplate, next) {
var actionsToBeChecked = ['deposit'];
var action = connection.action;
if(actionsToBeChecked.indexOf(action) > -1) {
/* middleware logic
next(connection, true); */
} else {
next(connection, true);
}
}
api.actions.addPreProcessor(myImportantMiddleware);
next();
}
提前致谢 !