RESTful API

RESTful API は REST(Representational State Transfer)アーキテクチャスタイルに(もと) づいて設計(せっけい) された API で、HTTP メソッドを使用(しよう) してリソースを操作(そうさ) する。

HTTP Methods

MethodIdempotentSafe用途(ようと)
GETYesYesリソース取得(しゅとく)
POSTNoNo新規(しんき) リソース作成(さくせい)
PUTYesYesリソース完全(かんぜん) 更新(こうしん)
PATCHNoNoリソース部分(ぶぶん) 更新(こうしん)
DELETEYesYesリソース削除(さくじょ)

GET

GET メソッドはサーバーからリソースを取得(しゅとく) するために使用(しよう) 。リソースの状態(じょうたい)変更(へんこう) しないため、安全(あんぜん) なメソッドと() える。

POST

POST はサーバー(じょう) のリソースコレクションに(あたら) しいリソースを作成(さくせい) するために使用(しよう)

PUT

PUT はサーバー(じょう)既存(きそん) リソースを更新(こうしん) し、リソース全体(ぜんたい)置換(ちかん) する。

PATCH

PATCH はサーバー(じょう)既存(きそん) リソースの一部(いちぶ)更新(こうしん) するために使用(しよう)

DELETE

DELETE はサーバーからリソースを削除(さくじょ) する。Request-URI識別(しきべつ) されたリソースを削除(さくじょ)

PATCH vs PUT

特性(とくせい)PUTPATCH
更新(こうしん) 範囲(はんい)完全(かんぜん) リソース部分(ぶぶん) フィールド
リクエスト内容(ないよう)完全(かんぜん) なリソース表現(ひょうげん)変更(へんこう) フィールドのみ
冪等性(べきとうせい)YesNo

Idempotence(冪等性)

(おな) じリクエストを 1 (かい) 実行(じっこう) しても複数回(ふくすうかい) 実行(じっこう) しても効果(こうか)(おな) じであること。サーバーの状態(じょうたい)(おな) じ。冪等(べきとう) メソッドには副作用(ふくさよう) がないべき。

RESTful 設計原則

  1. リソース指向(しこう) : URL はリソースを(あらわ)
  2. HTTP メソッド使用(しよう) : 操作(そうさ) は HTTP method で表現(ひょうげん)
  3. ステートレス: (かく) リクエストは必要(ひつよう)情報(じょうほう) をすべて(ふく)
  4. 統一(とういつ) インターフェース: 一貫(いっかん) した URL 構造(こうぞう) とレスポンス形式(けいしき)