gpt4 book ai didi

node.js - 如何在 express JS 中获取匹配的路由模式?

转载 作者:搜寻专家 更新时间:2023-10-31 22:18:34 24 4
gpt4 key购买 nike

我希望我的记录器中间件在发送响应时记录每个匹配的路由。但是可能有任意数量的嵌套子路径。假设我有这个:

var app = express();
var router = express.Router();

app.use(function myLogger(req, res, next)
{
res.send = function()
{
//Here I want to get matched route like this: '/router/smth/:id'
//How can I do this?
});
}

app.use('/router', router);

router.get('/smth/:id', function(req, res, next)
{
res.send(response);
});

这可能吗?

最佳答案

因为应用级中间件不知道路由,这是不可能的。但是,如果您将记录器中间件用作路由中间件,例如:

router.get('/smith/:id', logger, function (req, res) { ... });

您可以在请求对象上使用两个参数的组合:

req.route.path => '/smth/:id'
req.originalUrl => '/router/smth/123'

我会留给你如何将两者组合成一个字符串。

关于node.js - 如何在 express JS 中获取匹配的路由模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27386445/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com