0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Day2 — HTTPメソッド(GET/POST/PUT/DELETE)を“動かして”理解する

Last updated at Posted at 2025-12-01

はじめに

HTTPの基本は リクエストとレスポンス。
では、そのリクエストは「何をしたいのか?」をどう伝えるのでしょう?

答えは HTTPメソッド です。

この記事では、
GET / POST / PUT / DELETE の4つを中心に、
実際に 動く例 を通して理解できるように解説します。

今日のゴール

・各メソッドの正しい役割がわかる

・curl を使って実際に叩いてみる

・LaravelでシンプルなAPIを作って挙動を確認する

HTTPメソッドとは?

HTTPメソッドは、
「サーバに対して何をしたいのか」 を伝えるための指示。

Webの世界はとりあえず以下の4操作さえ理解すれば9割OKです。

メソッド 意味 役割
GET 取得 データを読む
POST 作成 新しいデータを作る
PUT 更新(全体) データを完全に置き換える
DELETE 削除 データを消す

REST APIでは、
URL と メソッド を組み合わせて操作を表現 します。

例:

操作 メソッド パス
ユーザー一覧の取得 GET /users
ユーザーを作成 POST /users
ユーザー更新 PUT /users/{id}
ユーザー削除 DELETE /users/{id}

実験1. curl でメソッドを体験してみる

まずは curl を使って簡単に試します。

※ curl はほとんどのMac/Linuxで標準搭載
(WindowsもWSLやGit Bashで使えます)


GET(データ取得)

curl -X GET https://jsonplaceholder.typicode.com/posts/1

結果例:

{
  "userId": 1,
  "id": 1,
  "title": "sunt aut facere repellat",
  "body": "quia et suscipit…"
}

POST(データ作成)

curl -X POST -H "Content-Type: application/json" \
-d '{"title": "Hello", "body": "World"}' \
https://jsonplaceholder.typicode.com/posts

結果例:

{
  "title": "Hello",
  "body": "World",
  "id": 101
}

PUT(データ更新)

curl -X PUT -H "Content-Type: application/json" \
-d '{"title": "Updated"}' \
https://jsonplaceholder.typicode.com/posts/1

DELETE(データ削除)

curl -X DELETE https://jsonplaceholder.typicode.com/posts/1

ここまで実行すると、
メソッドごとの挙動が体感で理解 できるはずです。

実験2. Laravelで各メソッドを受け取るAPIを作る

ここでは、
Laravel を使って「メソッドによって返す内容を変える」簡単APIを作ります。


routes/api.php を編集

use Illuminate\Support\Facades\Route;

Route::get('/sample', function () {
    return ['method' => 'GET'];
});

Route::post('/sample', function () {
    return ['method' => 'POST'];
});

Route::put('/sample', function () {
    return ['method' => 'PUT'];
});

Route::delete('/sample', function () {
    return ['method' => 'DELETE'];
});

実際に叩いてみる

GET

curl -X GET http://localhost:8000/api/sample

結果:

{"method":"GET"}

POST

curl -X POST http://localhost:8000/api/sample

結果:

{"method":"POST"}

PUT

curl -X PUT http://localhost:8000/api/sample

結果:

{"method":"PUT"}

DELETE

curl -X DELETE http://localhost:8000/api/sample

結果:

{"method":"DELETE"}

これで、
リクエストのメソッドを使って処理を切り替えられる ことが理解できます。

REST APIでの正しいメソッドの使い分け

初学者がよくやりがちなのが、

/addUser
/updateUser

など 動詞をURLに入れてしまう パターン。

REST APIでは、
操作はメソッドで表すので URL が動詞になる必要はありません

つまりURLは「リソース名」を表し、

操作 メソッド パス(REST的に正しい例)
作成 POST /users
更新 PUT /users/1
削除 DELETE /users/1
取得(一覧) GET /users
取得(詳細) GET /users/1

こういう設計が標準であり、
フロント側もバック側も読みやすくなります。

今日のまとめ

・HTTPメソッドは「サーバに対して何をしたいのか」を伝える指示

・GET/POST/PUT/DELETE を押さえればWeb開発の9割を理解できる

・curl を使ってメソッドごとの違いを体験できる

・Laravelでもメソッドごとに処理を分岐できる

・REST APIでは「URL=リソース名」「操作=メソッド」で表現する

明日の Day3 は、

「HTTPステータスコード完全ガイド」
200 / 201 / 400 / 401 / 404 / 500 …
よく使うものをAPI実装例つきで徹底解説します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?