今あるJSONベースのHypermediaフォーマット仕様まとめ
RESTful Web APIs: Services for a Changing World (English Edition)をよんだりなんだりして、JSONベースのHypermediaフォーマットに興味が出たので調べてみました。
ここで紹介するフォーマットは2013年10月6日現在どれも策定段階です。
リスト化するに当たりググってもパッとしなかったので、IANAに登録されているmedia-typeのうち"+json"を接尾辞に持っているものからそれっぽいモノを選びました。
Collection+JSON
その名の通り、コレクション(を含む)リソースのための仕様です。
この仕様ではコレクションの参照だけではなく、コレクションに対する追加・更新・削除操作に言及しています。
Collection.next+JSON
上記Collection+JSONの拡張し、より複雑な定義をできるようにしています。
追加されている主な機能は下記になります。
- フォームへの選択肢の提示
- HTTP 202 Acceptedとともに返されるレスポンスで利用するstatus表現
- ハイパーリンク、テンプレート定義における型(type)指定
Siren: a hypermedia specification for representing entities
サブタイトルの示す通り、エンティティ(リソース)を表現するための仕様です。
Collection+JSON系と異なり、エンティティの表現方法についても言及しています。またフォーム表現も充実しており、柔軟に追加・更新を行えます。