BT
x Votre opinion compte ! Merci de bien vouloir répondre au sondage InfoQ concernant vos habitudes de lecture !

Spring ajoute le support d'HATEOAS aux Services Web basés sur REST

par Jan Stenberg , traduit par Hadrien Pierart le 04 juin 2013 |

Le Framework Spring est en train d'ajouter le support pour HATEOAS (Hypermedia As The Engine Of Application State) qui permet de supporter des web services REST via des liens hypertextes. L'objectif principal de spring-hateoas est de proposer une API simplifiant la création de liens hypermedia et de créer des représentations de ressources REST quand ils sont utilisés avec Spring et plus particulièrement avec Spring MVC.

XML et JSON

La bibliothèque met à disposition un ensemble de types pour faciliter l'utilisation de XML et JSON.

Liens

Elle fournie également plusieurs classes pour gérer les liens et les relations.

La classe Link sert à créer et porter des liens basés sur la définition donnée par le standard Atom). Elle utilise les attributs rel et href pour gérer la relation et décrire le lien réel. Dans le cas du XML, la représentation du lien se fera dans le namespace Atom.

Un problème courant lors de la création d'URI est la multiplication des constantes dans l'application. Pour remédier à cela, la classe ControllerLinkBuilder extrait l'URI racine de la requête et y ajoute le mapping définit par le Controller pour la ressource correspondante pour obtenir l'URI complète.

Lorsque les ressources sont des représentations directes des classes du modèle, des classes sont fournies par Spring pour créer des liens pour ces types du modèle, pointant soit vers une collection de ressources soit vers une ressource simple.

Trouver le lien correspondant à une relation donnée est une tâche récurrente lorsqu'on utilise hypermerdia et Spring-hateoas propose pour cela d'utiliser la classe LinkDiscoverer.

Ressources

La bibliothèque contient également une classe dédiée à la création de ressources : ResourceSupport, dont il faut hériter pour avoir le support des liens. Pour réduire la quantité de code à produire pour le mapping entités-ressources et l'ajout de liens vers une ressource, une autre classe peut être utilisée : ResourceAssemblerSupport. Cet assembleur peut aussi bien créer une ressource simple qu'une collection de ressources.

Geraint Jones a écrit un article à ce sujet qui utilise spring-hateoas sur un scenario simple.

Lors de la JAX 2013, Martin Lippert a donné la présentation "Modern Architectures with Spring and JavaScript" qui montrait une utilisation de cette bibliothèque.

Spring HATEOAS est actuellement en version 0.5 et le travail pour la 0.6 a déjà commencé.

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Contenu Éducatif

Rien ne serait possible sans le soutien et la confiance de nos Sponsors Fondateurs:

AppDynamics   CloudBees   Microsoft   Zenika
Feedback Général
Bugs
Publicité
Éditorial
InfoQ.com et tous les contenus sont copyright © 2006-2014 C4Media Inc. InfoQ.com est hébergé chez Contegix, le meilleur ISP avec lequel nous ayons travaillé.
Politique de confidentialité
BT