【问题标题】:Express routing not matching url快速路由与 url 不匹配
【发布时间】:2021-01-21 14:47:22
【问题描述】:

我有一条快速路线,我想找到一个 uid 值,但由于某种原因它不起作用我想知道我做错了什么。每当我到达 localhost:8080/user?uid=20 并且我想检索 20 作为参数 uid 时,我总是收到错误消息,但一直收到错误消息。

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

代码本身

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

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

【问题讨论】:

  • 您是否遇到实际错误?如果是这样,那是什么?还是您的路线不匹配?
  • 路由不匹配,会不断返回错误。时代精神的解决方案虽然有效,但我将阅读更多内容

标签: node.js express routes


【解决方案1】:

使用正则表达式模式来捕获查询字符串不是一个好习惯。将你的路由减少到/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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-31
    • 1970-01-01
    • 2014-01-01
    • 2021-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多