HTTPメソッド
中級読み方:エイチティーティーピーメソッド|英語:Http Method
サーバーへのリクエストの種類で、GET(取得)、POST(送信)、PUT(更新)、DELETE(削除)などがあるよ。
やさしい説明
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" }); 主なメソッド一覧
| メソッド | 役割 | お店の例え |
|---|---|---|
GET | 取得(読むだけ) | メニューを見せて |
POST | 新規作成 | 注文する |
PUT | まるごと更新 | 注文を全部入れ替える |
PATCH | 一部だけ更新 | トッピングだけ変更 |
DELETE | 削除 | 注文を取り消す |
いつ使う?
- データを読むだけ →
GET - 新しいデータを登録する →
POST(投稿・新規ユーザー作成など) - 既存データを書き換える →
PUT/PATCH - データを消す →
DELETE
同じURL /api/users でも、メソッドが違えば動作が変わるのがポイント。GETなら一覧取得、POSTなら新規作成。これがREST APIの基本的な考え方です。
間違いやすいポイント
❌ GETリクエストでデータを変更する
GETは「取得専用」です。GETで削除や更新をすると、ブラウザのプリフェッチや先読みで意図せず実行されることがあります。変更系は必ず POST/PUT/PATCH/DELETE を使いましょう。
❌ PUT と PATCH を混同する
PUT はデータを「まるごと置き換え」、PATCH は「一部だけ更新」。PUTで一部だけ送ると、送らなかった項目が消えてしまうことがあります。
よくある疑問
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) }) と書きます。