是否可以针对ExpressJS中的特定路由禁用/删除中间件?

蓝色

我想禁用特定的中间件,例如,我之前在app.js中设置的中间件:

app.use(express.bodyParser());

然后,我想针对特定路由删除该bodyParser(),例如:

app.post("/posts/add", Post.addPost);

谢谢

Werner KvalemVesterås

您可以编写一个函数来检测条件,如下所示:

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()));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Negroni的路由特定中间件

在ExpressJS中为特定路由链接多个中间件

在Laravel 5中,如何为特定路由禁用VerifycsrfToken中间件?

在laravel 5.2中为特定路由禁用Web中间件

在Laravel的路由组内跳过特定路由的中间件

ExpressJS响应中间件

ExpressJS路由中间件中的依赖注入

在ASP.NET Core 2.2上运行的中间件中是否有任何方法可以检测请求是否针对ApiController?

ExpressJS中的路由处理程序和中间件函数有什么区别?

在UseEndpoints之前,如何检查路由在.NET Core中间件中是否有效?

是否可以在Flutter Navigator中添加中间件?

如何针对特定/不同的请求方法在NEST JS中处理多个中间件?

在ExpressJS中传递Javascript amqplib通道来路由中间件

ExpressJS日志中间件

在ExpressJS中设置请求清除中间件

在中间件中获取路由定义

总是在expressjs中运行中间件

避免/删除Laravel> = 5.2.31的路由中的Web中间件

ExpressJS 中间件 | req.params 在中间件中不可用?

在 NodeJS/ExpressJS 的中间件中调用中间件

expressjs中的中间件功能错误

Laravel:中间件是否可以接受路由输入?

Slim 4:是否可以通过传递参数调用路由中间件?

使用中间件保护 Expressjs 路由

特定路由的 NuxtJS 路由中间件

是否可以在中间件类中重定向?

针对特定路由的 Gorilla 中间件身份验证不起作用

如何防止特定路由的中间件

ExpressJS 路由异步中间件