BT

Nouveau Early adopter ou innovator ? InfoQ a travaillé sur de nouvelles fonctionnalités pour vous. En savoir plus

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

| par Jan Stenberg Suivre 6 Abonnés , traduit par Hadrien Pierart Suivre 0 Abonnés le 04 juin 2013. Durée de lecture estimée: 2 minutes |

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é.

Evaluer cet article

Pertinence
Style

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

Se connecter à InfoQ pour interagir sur ce qui vous importe le plus.


Récupérer votre mot de passe

Follow

Suivre vos sujets et éditeurs favoris

Bref aperçu des points saillants de l'industrie et sur le site.

Like

More signal, less noise

Créez votre propre flux en choisissant les sujets que vous souhaitez lire et les éditeurs dont vous désirez suivre les nouvelles.

Notifications

Restez à jour

Paramétrez vos notifications et ne ratez pas le contenu qui vous importe

BT