HTTPメソッド
中級読み方:エイチティーティーピーメソッド|英語:Http Method
サーバーへのリクエストの種類で、GET(取得)、POST(送信)、PUT(更新)、DELETE(削除)などがあるよ。いつ使う? APIを使うとき、データの取得はGET、新規作成はPOST、更新はPUT、削除はDELETEと使い分けるよ。間違いやすいポイント: GETリクエストにはボディ(データ本体)を含めないのが原則だよ。データを送りたいときはPOSTを使おう。また、フォームのmethod属性を忘れるとデフォルトのGETになるよ。
やさしい説明
HTTPメソッドは、サーバーに「何をしてほしいか」を伝える命令の種類です。
お店に例えると、GET=「見せて」、POST=「注文する」、PUT=「変更して」、DELETE=「取り消して」です。同じURL(/users)でもメソッドが違えば動作が変わります。
REST APIを設計するときの基本です。fetchの第2引数で method を指定します。
具体例・使い方
// GET: データを取得
fetch("/api/users");
// POST: データを作成
fetch("/api/users", {
method: "POST",
body: JSON.stringify({ name: "太郎" })
});
// DELETE: データを削除
fetch("/api/users/1", { method: "DELETE" }); いつ使う?
APIを作るとき・使うときに必ず意識します。データの取得はGET、作成はPOST、更新はPUT/PATCH、削除はDELETEが基本ルールです。
間違いやすいポイント
❌ GETリクエストでデータを変更する
GETは「取得専用」です。データの作成・変更・削除にはPOST/PUT/DELETEを使いましょう。GETで削除すると、ブラウザのプリフェッチで意図せず削除されることがあります。
よくある疑問
Q: GETとPOSTの違いは?
A: GETはデータ取得用(URLにパラメータが見える)、POSTはデータ送信用(ボディに含まれURLに見えない)。ログインフォームはPOSTを使います。
Q: PUTとPATCHの違いは?
A: PUTはリソース全体を置き換え、PATCHは一部だけ更新します。名前だけ変えたいならPATCHが適切です。
Q: fetchでPOSTリクエストを送るには?
A: fetch(url, { method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify(data) }) と書きます。