BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Spring がRESTのウェブサービスにHATEOASのサポートを追加

Spring がRESTのウェブサービスにHATEOASのサポートを追加

原文(投稿日:2013/05/21)へのリンク

Java用のSpring Framework は現在、HATEOAS, Hypermedia As The Engine Of Application State, ハイパーテキスト駆動のRESTウェブサービスのサポートを追加する開発を行なっている。ライブラリ の主要な焦点は、ハイパーメディアリンクの作成を簡素化し、Spring特にSpring MVCと一緒に使用する場合に、RESTリソース表現を組み立てるためのAPIを提供することだ。

XML と JSON
ライブラリには、XMLとJSONの両方での開発を簡素化する型セットが用意されている。

リンク
いくつかのクラスは、リンクと関係での作業のために提供されている。
The Link クラスは、リンクを作成し、保持するために使用される。この時Atomリンク定義を relhref属性とともに使って、リンクを記述する。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に向けた開発が進行中である。

この記事に星をつける

おすすめ度
スタイル

BT