Node.js Express-使用查询参数获取请求路径

时间:2019-08-08 14:52:32

标签: node.js express

当前,我有一个公开这两个端点的服务

app.get('/test/', (req, res) => {
    res.send('hello world');
});

app.get('/test/:id', (req, res) => {
    res.send('hello world');
});

我有一个中间件,可将所有请求记录到这些端点。 如果第二个端点被命中,我想登录/test/:id而不是/test/actualId

如何以这种方式从req对象中提取路线?

2 个答案:

答案 0 :(得分:1)

使用request.route.path将输出您提供的路径字符串:

app.get('/test/', (req, res) => {
    console.log(req.route.path)
    // -> /test/
    res.send('hello world');
});

app.get('/test/:id', (req, res) => {
    console.log(req.route.path)
    // -> /test/:id
    res.send('hello world');
});

答案 1 :(得分:0)

这将为您提供帮助。

app.get('/test/:id', (req, res) => {
   let actualId = req.query.id;
   let reqPath = req.originalUrl || req.path 
   res.send('hello world :', actualId);
});