🍇
パスパラメータとクエリパラメータの違い
違いをなんとなく把握で終わっていたので、
頭の整理も兼ねて「パスパラメータとクエリパラメータの違い」を説明します!
※もし認識に間違い等ありましたら、ご指摘ください!
見た目の違い
①https://zenn.dev/search
②https://zenn.dev/search?q=Laravel
①と②の見た目違いとして「search」の後に「?〜」が」あるかどうか
①のパスパラメータはsearch
の部分になる
②の場合、パスパラメータは①と同じくsearch
、クエリパラメータは?q=Laravel
中身の違い
次にそれぞれが何を表しているのか確認しよう!
例:株式会社アニメ(ドメイン:Anime.co.jp)に営業部(Sales)があり、チームが以下のように分かれているとする
SalesTable
id | name |
---|---|
1 | Isono |
2 | Doraemon |
チームの中のユーザーは以下の通り
UsersTable
id | sales_id | name |
---|---|---|
1 | 1 | サザエ |
2 | 1 | カツオ |
3 | 1 | ワカメ |
4 | 2 | のび太 |
5 | 2 | ドラえもん |
6 | 1 | 波平 |
営業部のIsono(磯野)チームのページを表示するとなるとURIは以下のようになる.
https://Anime.co.jp/sales/{group_id}
パスパラメータ
は特定のもの(画面など)を表示したいときに必要になります。
// IsonoチームのSalesTableidは「1」
https://Anime.co.jp/sales/1
もし、メンバー一覧を画面表示にしたい場合は、下記のURIとする。
https://Anime.co.jp/sales/1/members
クエリパラメータ
は特定のもの(画面など)に条件を加える場合に必要になります。
例:上記のメンバー一覧から特定の人を検索したい場合(今回はID検索と想定)
今回はUsersTableのID:3(ワカメ)を検索(条件の追加)します。
https://Anime.co.jp/sales/1/members?id=3
自分の中で腑に落ちなかったパスパラメータとクエリパラメータでしたが、
という認識になりました。
表現が曖昧のため認識がずれていたらご指摘お願いします!
最後までお読みいただきありがとうございました!
Discussion
URLは
Salse
になっていますが、Salse
でなくsales
ではないでしょうか?ご指摘ありがとうございます!
sales
です!