とにかく、特定のアクションにいくつかのミドルウェアを追加することはありますか? 私の知る限り、 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();
}
前もって感謝します !