快速路由与网址不匹配

时间:2020-10-06 17:05:00

标签: node.js express routes

我有一条明确的路线,我想找到一个uid值,由于某种原因它不起作用,我想知道自己在做什么错。每当我到达localhost:8080 / user?uid = 20时,我总是收到错误消息,我想检索20作为参数uid,但始终收到错误消息。

我的路 / user?uid =:uid \ d +

代码本身

router.get('/user\?uid=:uid\d+', (req,res) => {

    res.send('This works');
});

1 个答案:

答案 0 :(得分:0)

具有用于捕获查询字符串的正则表达式模式不是一个好习惯。减少到/user的路线,就可以通过req访问查询字符串,就像这样:

localhost:3000/user?uuid=20

router.get('/user', (req,res) => {
    console.log(req.query); // { uuid: 20 }
    console.log(req.query.uuid); // 20

    res.send('This works');
});

您可以在此处获得更多信息:https://expressjs.com/es/api.html#req.query