REST APIについて

RESTとは

REpresentational State Transferの略で、分散型システムにおける設計ルールのこと。

RESTfulとは

RESTで求められる原則に従っていること。

REST原則

  1. クライアント/サーバ

  2. 階層化システム 3層構成(多層アーキテクチャ構成)のWEB→AP→DBのことそのもの。

    メリット:各コンポーネントに役割を決めて独立させ進化と再利用が促進できる
    デメリット:データ処理にオーバーヘッドが発生。応答が悪くなる

  3. コードオンデマンド
クライアントコードをダウンロードして実行できる。
リリース後にクライアントコードを変更できる。

    メリット:リリース済みのクライアントに対して機能追加可能、クライアントに処理が移譲されサーバの負荷が下がる
    デメリット:評価環境が複雑になる

  4. 統一インターフェース

    1. リソースの識別:URIを用いてサーバに保存されたデータを識別する
    2. 表現を用いたリソース操作
    3. 自己記述メッセージ
    4. アプリケーション状態エンジンとしてのハイパーメディア
  5. ステートレス

    通信のたびに状態(ステート)を保持しない サーバはリクエストだけでコンテキストを理解できる

  6. キャッシュ制御

REST APIの設計レベル

LEVEL3→2に加えてレスポンスにリソース間のつながりがある
LEVEL2→1に加えてHTTPメソッドを活用(一般的に使用される)
LEVEL1→リソースごとにURLが分割
LEVEL0→REST APIの基本レベル

CRUD操作のURIとHTTPメソッド

movieをリソースにして、CRUD操作のURI、HTTPメソッドを定義しました。

URI HTTP method リソースごとの操作一覧
/movies GET ムービー情報一覧取得
/movies POST ムービーの新規登録
/movies/12345 GET 特定ムービーの取得
/movies/12345 PUT ムービーの更新
/movies/12345 DELETE ムービーの削除