8
我想禁用特定的中间件,我已经在app.js成立之前,例如:是否可以在ExpressJS中禁用/删除特定路由的中间件?
app.use(express.bodyParser());
然后我想删除bodyParser()为特定路线例如:
app.post("/posts/add", Post.addPost);
谢谢
我想禁用特定的中间件,我已经在app.js成立之前,例如:是否可以在ExpressJS中禁用/删除特定路由的中间件?
app.use(express.bodyParser());
然后我想删除bodyParser()为特定路线例如:
app.post("/posts/add", Post.addPost);
谢谢
你可以写一个函数来检测的条件,如:
function maybe(fn) {
return function(req, res, next) {
if (req.path === '/posts/add' && req.method === 'POST') {
next();
} else {
fn(req, res, next);
}
}
}
然后修改app.use声明:
app.use(maybe(express.bodyParser()));
它就像一个魅力,THX这么多沃纳 – mrblue
这帮助我出去为好,我们有我们与全球app.use使用自定义middlewear ,现在我们希望它禁用某些路线。我们提出的解决方案是让中间衣接受一系列路线,不应该采取行动:D niceeeeeeeeeee –
疯狂!有用!谢谢! –