REST APIとは
Webシステムを外部から利用するためのプログラムの呼び出し規約(API)の種類の一つで、RESTの原則に則って構築されたWebシステムのHTTPでの呼び出しインターフェースのこと。
RESTとは
REpresentational State Transferの略で、分散型システムにおける複数のソフトウェアを連携させるのに適した設計原則の集合、考え方のこと。
RESTの原則
主に以下の4つの原則である。
1.アドレス可能性(Addressability)
提供する情報がURIを通して表現できること。全ての情報はURIで表現される一意なアドレスを持っていること。
2.ステートレス性(Stateless)
HTTPをベースにしたステートレスなクライアント/サーバプロトコルであること。セッション等の状態管理はせず、やり取りされる情報はそれ自体で完結して解釈できること。
3.接続性(Connectability)
情報の内部に、別の情報や(その情報の別の)状態へのリンクを含めることができること。
4.統一インターフェース(Uniform Interface)
情報の操作(取得、作成、更新、削除)は全てHTTPメソッド(GET、POST、PUT、DELETE)を利用すること。
これらの原則はROAの特性と同様である。ROAについてはリソース指向アーキテクチャ(ROA)についてを参照。
REST APIのメリット
- URIに規律が生まれることで、APIを利用するサービス開発者が楽になる
- URIに規律が生まれることで、API開発者もURIからソースのどの部分なのかが容易にわかる
- ブラウザのアドレスバーにURIを入力すればリソースが参照できる
- サーバ、クライアント間で何も共有しないことにより、負荷に応じたスケーラビリティが向上する。ステートレス性に値するもので、一番のメリットされている。
- GET、POST、PUT、DELETE等のHTTP標準のメソッドを使うことで、シンプルで一貫性のあるリクエスト標準化が円滑に行える。統一インターフェースに値する。