【发布时间】:2017-07-05 20:18:41
【问题描述】:
我的路由器中有一个路由/users 作为父后缀,所有后续路由都将附加父路由,例如。 /users/details
在我的 app.js 中
app.use('/api/v1/users', userRoutes);
在我的用户路由中
import express from 'express';
import users from '../controllers/user_controller';
import { authenticateRoute, authenticateSignedRoute, aclAuthenticator } from './../middlewares/AuthenticationMiddleware';
const router = express.Router();
//user routes
router.get('/details', authenticateRoute, aclAuthenticator, users.getDetails);
router.get('/posts', authenticateRoute, aclAuthenticator, users.getPosts);
module.exports = router;
我想做什么
有没有办法让我将 authenticateRoute 和 aclAuthenticator 中间件添加到父前缀路由,然后对于一个特定的路由有一个例外,即只应用第三个中间件而不是前两个。
例如 app.use('/api/v1/users', authenticateRoute, aclAuthenticator, userRoutes);
我的新路由器文件
router.get('/details', applyOnlyThisMiddleWare, users.getDetails);
router.get('/posts', No MiddleWareAtAll, users.getPosts);
我基本上是想覆盖最初的中间件,这可能吗?
【问题讨论】:
标签: node.js express middleware