RESTとは
RESTはAPIの設計と実装に使う概念上の設計モデル
RESTful API(REST API)とは
RESTの原則に則って構築されたWebシステムのHTTPでの呼び出しインターフェースのこと
RESTの原則
以下の4原則から成り立っており、処理結果はHTTPステータスコード(200:正常など)で通知される
①アドレス可能性
全ての情報はURIで表現される一意なアドレスを持っていて、提供する情報がURIで表現できる
②ステートレス性
セッションなどの状態管理を行わなず、やり取りされる情報はそれ自体で完結して解釈できる
③接続性
情報の内部に、別の情報や(その情報の別の)状態へのリンクを含めることができること。
④統一されたインターフェース
情報の操作(取得、作成、更新、削除)は全てHTTPメソッド(GET、POST、PUT、DELETE)を利用すること
RESTのメリット
・URIに規律が生まれることで、APIを利用するサービス開発者が楽になる
また、開発者はURIからソースのどの部分なのかが容易にわかる
・ステートレス性なので、負荷に応じたスケーラビリティ(拡張性)が容易にできる
・統一されたHTTP標準のメソッドを使用することで、シンプルで一貫性のあるリクエストが円滑に行える
RESTのデメリット
・設計次第ではエンドポイント(APIの入り口)が肥大化し、常に最新の状態を整合性を保ちながら、
ドキュメント類も整える作業は開発者には重荷となる事が起こりえる
・RESTの原則に沿ってさえいれば、記述自体は自由度の高いAPIだが、実装ルールに統一性がない
(あやふやなRESTful APIが増えている)
・仕様や定義に関する要素がない
(ドキュメントと実装したときの乖離が発生しやすくなる)
コメント