リクエストパラメータについて


現在Swaggerを使っており、そこでリクエストするパラメータの記載が必要になりました。
先輩たちが丁寧に教えてくれたのでメモです。
ご指摘等あればコメントお願い致します!

種類

どこにパラメータをおくかは基本的に以下の3つです。
基本的にです、あくまで。

  • クエリストリング
  • リクエストボディ
  • パス

どのように考えればいいかというとHTTPメソッドで切り分けるのが分かりやすいんじゃないかと先輩がおっしゃってました。
ふむ。
では見ていきます。

クエリストリング

一覧表示などのGETを使う場合はクエリストリングにパラメータを置きます。
例えばgoogleで何らかの検索をしたとするとその後のURLは以下のようになります。

#ポケモンと検索した場合
https://www.google.com/search?q=%E3%83%9D%E3%82%B1%E3%83%A2%E3%83%B3&rlz=1C5CHFA_enJP919JP919&oq=%E3%83%9D%E3%82%B1%E3%83%A2%E3%83%B3&aqs=chrome..69i57j0i131i433j0i433l2j0j0i433l5.1443j0j15&sourceid=chrome&ie=UTF-8

上記の?以降がクエリストリングもしくはクエリとかクエリパラメータと呼ばれます。
基本的にGET以外では使わないとのこと。

リクエストボディ

POST、PUT、PATCHで使います。
データを作成したり更新したりするときはリクエストボディが多いようです。

受け渡すデータの内容が入ります。
例えば、会員登録で考えると

  • ユーザー名
  • メールアドレス
  • パスワード

などの入力したデータを送ると考えると分かりやすかったです。

パス

特定のリソースを識別できるものを含める際はパスパラメータを使います。
例えば
URL= /user/1
見たいにuser_idが1の特定のデータを取得したい時とかに使います。

DELETEはパスパラメータにするべきですね。
PUTやPATCHはこちらのパスパラメータを使うことも結構あるみたいです。

こういうのを理解していないのってフレームワークでの実装しかしたことないからダメなのかなー。
毎日学ぶことが多くて自分の知識の無さにガッカリしてますが、コツコツ頑張ります!