我已经阅读了关于人员路线不匹配的其他问题,然后订购解决问题的路线。我有这个问题,我的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 –