私は人のルートが不一致であることに関する他の質問を読んで、問題を解決するルートを注文しました。私はURLルートがパラメータとして扱われている不一致を表現し、間違ったルートにつながるこの問題を抱えています。例えばエクスプレスルートが間違って一致する
app.get('/byASIN/LowPrice/:asin/:price',function(req,res){});
と
app.get('/byASIN/:asin/:price', function(req, res) {});
今、すべてが正常に動作しますが、できるだけ早く、私は最初のルートのうちのいずれかのPARAMを取るとして、それがこれを下回る所定のルートが一致した私が欲しいものではありません。ここでは2つのルートがあります。 私が/byASIN/LowPrice/:asin/:price
を押すと、すべて正常に動作しますが、/byASIN/LowPrice/:asin
に達するとすぐに、それはbyASIN/:asin/:price
と一致し、間違った機能を呼び出し、サーバーがクラッシュします。私はそれらを明示的に一致させたいと思います。/byASIN/LowPrice/:asin
が呼び出された場合、いくつかの警告で応答します。あなたは1つ少ない引数で呼び出しています。私はここで何が欠けていますか?デフォルトでは
を注文して固定することができます。 IMO '/ byASIN/LowPrice /'は '/ byASIN /:asin /'とは違う世界ですので、厳密な一致が望まれます。パラメータが次のまったく別のルートに移動するのではなく、パラメータがなくなっているという警告 – user3677331
この回答はinsightを追加しますhttp://stackoverflow.com/a/10695714/489396 –