2011-12-05 99 views
1

這兩個express.js路由匹配嗎?express.js路由

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

在express.js中,似乎是這樣做的。我不確定我是否正確理解這一點。

也就是說,如果請求/12/90/reply可能會被/:campus/:tlf_id/message捕獲?

+2

他們不應該。如果您確定'/ 12/90/reply'正在呼叫'/:campus /:tlf_id/message'路由,請報告問題:https://github.com/visionmedia/express/issues –

+0

您的權利。事實證明,我在其他地方犯了一個錯誤。感謝您的回覆。 – codr

回答

1

它們不匹配,因爲第3個url部分沒有用冒號作爲前綴。前2位的冒號前綴將它們轉換爲命名參數,並匹配/以外的任何其他值。第三部分將是必需的比賽。因此,路線的簡化RegEx將是/([^/]+)/([^/]+)/message/([^/]+)/([^/]+)/reply

0

他們實際上不匹配。兩個鏈接都是不同的。你應該添加:在第三/後兩個鏈接是相同的。