配置我的中间件以使其仅针对某些端点运行的最佳方法是什么?
最好是将中间件逐个添加到每个端点还是有更好的方法来创建可以处理它的配置?
答案 0 :(得分:2)
您可以根据需要在路线中添加任意数量的功能:
例如,对于特定路由使用bodyParser
中间件可以这样做:
app.get('/page/:id?/:page?', bodyParser.urlencoded({ extended: false, limit: '50mb' }), function (req, res) {
.....
});
在中间件文档中阅读更多内容: http://expressjs.com/guide/using-middleware.html#middleware.router
答案 1 :(得分:0)
最好的方法是使用快速组路由找到它here,然后为exmple创建一个中间件`
var loginMiddelware = function(req,res,next){
if(req.session.user){
next();
}else{
res.redirect('/login');
}
}
这个middelware在路由组中使用,如
app.group("/dashboard",(router) => {
router.use(loginMiddelware);
router.get('/', dashboardController.index); //url is /dashboard/
router.get('/profile', dashboardController.profile); //url is /dashboard/profile
});
希望它适合你。