RESTful API
RESTful API は REST(Representational State Transfer)アーキテクチャスタイルに基 づいて設計 された API で、HTTP メソッドを使用 してリソースを操作 する。
HTTP Methods
| Method | Idempotent | Safe | 用途 |
|---|---|---|---|
| GET | Yes | Yes | リソース取得 |
| POST | No | No | 新規 リソース作成 |
| PUT | Yes | Yes | リソース完全 更新 |
| PATCH | No | No | リソース部分 更新 |
| DELETE | Yes | Yes | リソース削除 |
GET
GET メソッドはサーバーからリソースを取得
するために使用
。リソースの状態
を変更
しないため、安全
なメソッドと言
える。POST
POST はサーバー上
のリソースコレクションに新
しいリソースを作成
するために使用
。PUT
PUT はサーバー上
の既存
リソースを更新
し、リソース全体
を置換
する。PATCH
PATCH はサーバー上
の既存
リソースの一部
を更新
するために使用
。DELETE
DELETE はサーバーからリソースを削除
する。Request-URI で識別
されたリソースを削除
。PATCH vs PUT
| 特性 | PUT | PATCH |
|---|---|---|
| 更新 範囲 | 完全 リソース | 部分 フィールド |
| リクエスト内容 | 完全 なリソース表現 | 変更 フィールドのみ |
| 冪等性 | Yes | No |
Idempotence(冪等性)
同 じリクエストを 1 回 実行 しても複数回 実行 しても効果 が同 じであること。サーバーの状態 も同 じ。冪等 メソッドには副作用 がないべき。
RESTful 設計原則
- リソース指向 : URL はリソースを表 す
- HTTP メソッド使用 : 操作 は HTTP method で表現
- ステートレス: 各 リクエストは必要 な情報 をすべて含 む
- 統一 インターフェース: 一貫 した URL 構造 とレスポンス形式