无论请求类型如何,我都希望将中间件应用于路由。目前我有:
router.route('/campaigns')
.get(restrictTo('advertiser'), restrictTo('admin'), queries.getCampaigns)
.post(restrictTo('advertiser'), restrictTo('admin'), queries.createCampaign);
我想要像:
router.route('/campaigns', restrictTo('advertiser'), restrictTo('admin'))
.get(queries.getCampaigns)
.post(queries.createCampaign);
但这似乎不起作用。
答案 0 :(得分:1)
您应该可以像.use()
那样使用:
router.route('/campaigns')
.use(restrictTo('advertiser'), restrictTo('admin'))
.get(queries.getCampaigns)
.post(queries.createCampaign);
或:
router.route('/campaigns')
.use(restrictTo('advertiser'))
.use(restrictTo('admin'))
.get(queries.getCampaigns)
.post(queries.createCampaign);
答案 1 :(得分:0)
您可以使用.all()
示例:
router.route('/campaigns')
.all(yourmiddleware)
.get(function (req, res, next) {
// your function ...
})
对我有用。
答案 2 :(得分:0)
快速文档说,您可以这样做:
app.use('/user/:id', function (req, res, next) {
console.log('Request URL:', req.originalUrl)
next()
}, function (req, res, next) {
console.log('Request Type:', req.method)
next()
})
将/user/:id
替换为所需的路径。