🚄

【Express】ルートパラメータの取得

2023/09/18に公開

概要

何かしらの一覧画面から詳細画面を表示する際などはURLパスに値を組み込み、サーバ側でそれを受け取って利用するのが一般的です。
今回はURLパスに埋め込まれた値をサーバ側で受け取る流れを確認します。

①URLパスにサーバ側に渡したい値を組みこむ

/users/417

  • 今回サーバ側に渡す値は「417」とする

②ルーティングにて、ルートパラメータを設定する

  1. 値が組み込まれる位置にコロン(:)を記載
  2. コロンの後に任意の文字列を指定(今回はuserIdとする)
app.get('/users/:userId', (request, response) => {
})

③request.paramsオブジェクトを確認する

request.paramsオブジェクトを確認すると、ルートパラメータ名userIdがキーとして設定されており、valueにURLパスに組み込んだ値がセットされていることがわかる。

④request.params.ルートパラメータ名で値を取得する

request.paramsオブジェクトのuserIdプロパティの値を取得したいので、
request.params.userIdとする

app.get('/users/:userId', (request, response) => {
  console.log(request.params.userId);
})
ターミナル
417

参照

https://expressjs.com/ja/guide/routing.html

Discussion