P粉2084690502023-08-18 00:37:22
Express.js ルーティングを使用しているときに Postman で 2 つの異なる GET リクエストを行うと、予期しない動作が発生しているようです。具体的には、2 番目のルート (/allUser) にリクエストを送信すると、最初のルート (/:id) から応答を受け取ります。この動作はあなたの期待と矛盾します。
問題を解決するために確認できる点がいくつかあります:
ルーティング順序: Express ルーターのルーティング順序が正しいことを確認してください。ルートは定義された順序で照合されます。 /:id ルートが /allUser ルートの前に定義されている場合、/allUser ルートに送信される必要があるリクエストがキャッチされる可能性があります。必要に応じて、ルートの順序を入れ替えることができます。
Route パラメーターの競合: /:id ルートで定義されているパラメーターが、/allUser ルートの考えられる値と競合していないことを確認してください。たとえば、/:id などのワイルドカード パラメーターを使用すると、誤って文字列「allUser」と一致し、間違ったルートがトリガーされる可能性があります。必要に応じて、ルート パラメータを変更してより具体的にすることができます。
ルーティング ミドルウェア: ルートに適用されているミドルウェアが予期しない動作を引き起こす可能性があるかどうかを確認します。この場合、[auth] ミドルウェアがルーティングの処理方法に影響を与える可能性があります。ミドルウェアをチェックして、ルーティングの通常の動作を妨げていないかどうかを確認してください。
ルーティング パスが重複している: ルーティング パスが異なっていて、重複していないかどうかを再確認します。たとえば、ルート パスが /allUser および /:id である場合、Express は受信リクエストをこれらのルートに照合する際にあいまいさを持たないようにする必要があります。
わかりやすくするためにルート定義を調整する方法は次のとおりです:
リーリー完全なコードとコンテキストを確認しない限り、問題を特定するのは難しいことに留意してください。ただし、これらの一般的なトラブルシューティング手順は、問題を特定して解決するのに役立ちます。