FIG-063

REST API — 同じURLでもメソッドで意味が変わる

Web 2026.06.26 公開 読了 約11分

REST APIでは、「何を」操作するかをURL(リソース)で、「どうする」かをHTTPメソッド表します。面白いのは、同じURLでも、メソッドを変えるだけで意味がガラッと変わること。/todos という1つの住所に対して、GETなら「見せて」、POSTなら「作って」、PUTなら「置き換えて」、DELETEなら「消して」になります。

この4つは、データ操作の基本CRUD(Create/Read/Update/Delete)にきれいに対応します。下の図1で、メソッドを選んで送信し、サーバーの状態がどう変わるかを確かめてください。

GET /todos
一覧をすべて取得します。サーバーの状態は変わりません。
🗄 サーバーの状態 /todos
📨 レスポンス
「送信する」を押すと、ここに結果が出ます。
図1 — 同じ /todos でも、メソッドで「読む・作る・置換・消す」が決まる

メソッドが「動詞」、URLが「目的語」

RESTの考え方はシンプルです。URLは名詞(操作したいモノ)、メソッドは動詞(やること)。だから /todos は「ToDoの集まり」、/todos/2 は「ID=2のToDo」を指し、それに GET / POST / PUT / DELETE という動詞を組み合わせます。URLに /createTodo/deleteTodo のような動詞を入れないのがコツ――動詞はメソッドが担当するからです。

図1で試すと分かるように、GETは状態を変えません(何度実行しても同じ=安全)。一方 PUTとDELETEは「何度やっても結果が同じ」という性質(冪等)を持ちます。たとえば DELETE /todos/2 は、1回目で消え、2回目以降は「もう無い(404)」で状態はそれ以上変わりません。これに対して POSTは呼ぶたびに新しい行が増えます。この違いは、通信が失敗してリトライしてよいかを判断する根拠になります。

用語ミニ辞書
リソース
操作対象を表すURL。/todos(集合) や /todos/2(個別) のように指す。
CRUD
Create / Read / Update / Delete。POST / GET / PUT / DELETE におおむね対応する。
ステータスコード
結果の種類。200 OK / 201 Created / 204 No Content / 404 Not Found など。
冪等(べきとう)
同じ操作を何度繰り返しても結果が変わらない性質。GET・PUT・DELETEが持つ。

まとめ

REST APIは、「URL(名詞)+メソッド(動詞)」でデータ操作を表す決まりごとです。同じ /todos でも、GETは読み、POSTは作り、PUTは置き換え、DELETEは消す――これがCRUDの正体。さらにGETは安全・PUT/DELETEは冪等という性質を押さえると、キャッシュやリトライの設計まで見通せます。図1でメソッドを切り替えながら、サーバーの状態とレスポンスの動きを体に入れてください。