【问题标题】:express.js routingexpress.js 路由
【发布时间】:2011-12-05 21:54:46
【问题描述】:

这两个 express.js 路由匹配吗?

/:campus/:tlf_id/message
/:campus/:message_id/reply

在 express.js 中似乎是这样。我不确定我是否理解正确。

也就是说,如果请求/12/90/reply会不会被/:campus/:tlf_id/message抓到?

【问题讨论】:

  • 他们不应该。如果您确定/12/90/reply 正在调用/:campus/:tlf_id/message 路由,请报告问题:github.com/visionmedia/express/issues
  • 您的权利。事实证明我在其他地方犯了一个错误。感谢您的回复。

标签: node.js routing express


【解决方案1】:

它们不匹配,因为第三个 url 部分没有以冒号为前缀。前 2 个冒号前缀将它们转换为命名参数,并匹配除 / 之外的任何内容。第三部分将是必需的比赛。因此,路线的过度简化的 RegEx 将是 /([^/]+)/([^/]+)/message/([^/]+)/([^/]+)/reply

【讨论】:

    【解决方案2】:

    它们实际上不匹配。两个链接彼此不同。您应该在第 3 个 / 之后添加 : 以使两个链接相同。

    【讨论】:

      【解决方案3】:

      这 2 条路线是不同的,但如果它们做同样的事情,那么你应该将问题报告给 git 上的 express.js 问题

      【讨论】:

        猜你喜欢
        • 2017-09-02
        • 2016-05-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-03
        • 2018-08-03
        • 2015-12-17
        • 1970-01-01
        相关资源
        最近更新 更多