Java用のSpring Framework は現在、HATEOAS, Hypermedia As The Engine Of Application State, ハイパーテキスト駆動のRESTウェブサービスのサポートを追加する開発を行なっている。ライブラリ の主要な焦点は、ハイパーメディアリンクの作成を簡素化し、Spring特にSpring MVCと一緒に使用する場合に、RESTリソース表現を組み立てるためのAPIを提供することだ。
XML と JSON
ライブラリには、XMLとJSONの両方での開発を簡素化する型セットが用意されている。
リンク
いくつかのクラスは、リンクと関係での作業のために提供されている。
The Link クラスは、リンクを作成し、保持するために使用される。この時Atomリンク定義を rel とhref属性とともに使って、リンクを記述する。XMLを使用する場合は、リンク表現はAtom名前空間にレンダリングされる。
URI文字列を作成する際の一般的な問題は、コードベースに重複した文字列定数が広がることである。ControllerLinkBuilderクラスは、現在のリクエストからのベースURIを抽出し、次に対応するリソースのControllerクラスからルートマッピングを追加して、完全なURIを得ることによって、この問題に対処している。
リソースがモデルクラスの直接的な表現である時、クラスはこれらのモデルタイプのリンクを作成するために提供され、コレクションリソースまたは単一のリソースのいずれかを指す。
ハイパーメディアを使用する際に、与えられた関係に対応するリンクを見つけることは、一般的なタスクである。これのサポートはLinkDiscovererクラスによって提供される。
リソース
リソースクラスを作成する場合、ライブラリは、ベースクラスResourceSupportを持っているので、例えば、リンクサポートはこれから継承できる。
もう1つのベースクラス、ResourceAssemblerSupportは、エンティティとリソース間のマッピングに必要なコード量とリソースへのリンクを追加するのに必要なコード量を減らすのに役立つ。このアセンブラクラスは、更に単一のリソースまたはリソースのコレクションを作成することができる。
Geraint Jones氏は、このライブラリを使って、単純なシナリオによる例 を書いた。
JAX 2013 において、Martin Lippert氏は、このライブラリを含んだプレゼンテーション、“Modern Architectures with Spring and JavaScript” を行った。
Spring HATEOAS Libraryは、現在Release 0.5で 0.6に向けた開発が進行中である。