RESTful
RESTfulとは、Webサービスの設計方法のひとつである「REpresentational State Transfer(REST)」に則り、作られたもの(ful)という意味です。
RESTfulなWebサービスはHTTPプロトコルを使用してデータを転送するAPIであり、Webアプリケーションの開発でよく使用されます。
原則
RESTfulなWebサービスは、以下の原則に従って設計されます。 これらの原則に従って設計されたRESTfulなWebサービスは、柔軟性があり、拡張性が高く、シンプルで理解しやすいインターフェースを提供することができます。
- リソースの識別
各リソースはURIで一意に識別されます。ここでいうリソースとはSQLでいう「レコード」に相当するものです。
- リソースの操作
HTTPメソッド(GET、POST、PUT、DELETE)を使用してリソースに対する操作を定義します。 この操作はSQLでいう「CRUD(CREATE,READ,UPDATE,DELTE)」に相当するものです。
- メッセージの自己完結性
各メッセージは必要な情報をすべて含んでいるためセッション状態を持ちません。
- ハイパーリンクの使用
リソース間の関連性はハイパーリンクを使用して簡単にアクセスできるようにします。 一般的なデータベースでは「リレーション」を表現するのに関連するレコードのユニークIDを保持することが多いですが、RESTでは一歩踏み込んで別リソースへのハイパーリンクまで作り上げてデータを返してあげます。