Express で「?」の後の GET パラメータにアクセスするにはどうすればいいですか? 質問する

Express で「?」の後の GET パラメータにアクセスするにはどうすればいいですか? 質問する

次のようなクエリのパラメータを取得する方法を知っています:

app.get('/sample/:id', routes.sample);

この場合、 を使用してreq.params.idパラメータ (例: ) を取得2できます/sample/2

しかし、 のような URL の場合/sample/2?color=red、変数にアクセスするにはどうすればよいでしょうかcolor?

試してみましたreq.params.colorが、うまくいきませんでした。

ベストアンサー1

そこで、明示的な言及req.query.color探している値が返されることがわかりました。

req.params は URL に ':' が含まれる項目を参照し、req.query は '?' に関連付けられた項目を参照します。

例:

GET /something?color1=red&color2=blue

次に、Express では、ハンドラーは次の処理を実行します。

app.get('/something', (req, res) => {
    req.query.color1 === 'red'  // true
    req.query.color2 === 'blue' // true
})

おすすめ記事