我已經閱讀了關於人員路線不匹配的其他問題,然後訂購解決問題的路線。我有這個問題,我的URL路由被視爲一個參數,然後表達不匹配,導致錯誤的路線。例如這裏有兩條路線:快速路線錯誤匹配
app.get('/byASIN/LowPrice/:asin/:price',function(req,res){});
和
app.get('/byASIN/:asin/:price', function(req, res) {});
現在所有工作正常,但只要我採取任何PARAM出了第一條路線的它符合以下其中給出的路徑是不是我想要的。 如果我點擊/byASIN/LowPrice/:asin/:price
一切正常,但只要我點擊/byASIN/LowPrice/:asin
它匹配byASIN/:asin/:price
,因此調用錯誤的函數並崩潰我的服務器。我希望讓它們明確匹配,並且如果調用/byASIN/LowPrice/:asin
,則會響應一些警告,例如,你只需要少一個參數即可。我在這裏錯過了什麼?
我不想固定爲了使它成爲可選的,我只想讓路由器嚴格匹配,IMO'/ byASIN/LowPrice /'與'/ byASIN /:asin /'是世界不同的,我希望這個匹配是嚴格的,如果有一個param缺失的問題一個警告,該參數丟失,而不是它移動到下一個完全不同的路線 – user3677331
這個答案增加了洞察力http://stackoverflow.com/a/10695714/489396 –