HAL
HAL(Hypertext Application Language)は REST ハイパーメディア形式であり、_links と _embedded を通じて JSON/XML 内でリソース間のリンクを表現する。
目的
REST API にハイパーメディアリンク標準を提供し、クライアントがリンク経由で後続操作を発見できるようにして、API 進化を疎結合にする。
メカニズム
リソースオブジェクトは _links(rel から {href,method,...} への写像)と _embedded(埋め込み関連リソース)を含む。リンクの rel が関係タイプを識別し、クライアントはハードコードされた URL ではなく rel でナビゲートする。
ユースケース
- REST ハイパーメディア API
- API の自己発見
- マイクロサービス間リンク