141 votes

Exemples réels pour HATEOAS (architecture REST)

comme tout le monde peut-être remarqué, il y a beaucoup de faux/rudimentaire REST Api dans la nature (qui mettent en œuvre un HTTP-API et appeler cela RESTE sans suite de l'hypertexte-comme-le-moteur-de-demande à l'état d'exigence, ce qui a conduit à la fameuse diatribe de Roy T. Fielding, l'homme qui, le premier, a spécifié le RESTE-paradigme).

J'ai été incapables de trouver des exemples concrets d'une véritable hypertexte entraînée RESTE-mise en œuvre avec l'application associée-spécificités des médias-les définitions de type pour les transitions d'état.

Y sont accessibles au public des exemples de leur mise en œuvre?

104voto

trendels Points 2929

Ce n'est pas une implémentation dans le sens de l'exécution de code, mais j'aime vraiment l'article " Comment obtenir une tasse de café " sur InfoQ. Il décrit le processus de commande d'un café chez Starbucks en tant que protocole RESTful. Cela va au-delà de l'article introductif REST type "tout est une ressource" et se concentre sur HATEOAS. Hautement recommandé.

22voto

Rich Apodaca Points 7327

Comment sur le Soleil, Nuage de l'API? De l'introduction:

L'API présuppose pas de structure particulière dans l'URI de l'espace. Le point de départ est une URI, fourni par le fournisseur de services cloud, qui identifie le nuage lui-même. Le nuage de représentation contient des Uri pour les autres ressources dans le cloud, et également pour des opérations qui peuvent être effectuées sur eux (par exemple, le déploiement et le démarrage des machines virtuelles).

La trame de fond peut aussi être utile.

7voto

Will Sargent Points 2147

Netflix a une API REST basée sur HATEOAS qui inclut des liens dans les ressources.

3voto

aehlke Points 4180

3voto

Hedgehog Points 1727

N'est-ce pas le Repos de Soleil Nuage API adressée au Roy 4ème point:

Une API REST ne doit pas définir de ressources fixes noms ou des hiérarchies (une évidente couplage de client et de serveur). Les serveurs doivent avoir la liberté de contrôler leur propre espace de noms. Au lieu de cela, permettre à des serveurs de demander aux clients sur la façon de construire approprié Uri, comme on le fait dans les formulaires HTML et les URI des modèles, en définissant les instructions à l'intérieur de types de médias et de lier des relations. [Échec ici implique que les clients sont en supposant une structure de ressources à cause de la bande d'information, tels que le domaine spécifique de la norme, qui est axée sur les données équivalentes pour les RPC de couplage fonctionnel].

Exemple 1 Fixe les noms de ressources dans un heirachy:

À partir du Soleil, Nuage de l'API: "... la représentation d'un VDC comprendra des représentations des groupes qui l'habitent, qui comprennent des représentations des machines virtuelles au sein de chaque cluster."

Exemple 2 out-of-band de l'information, tels que le domaine spécifique de la norme:

Vous devez avoir le wiki-contenu de la page (out-of-band de l'information) à savoir que la "ressource mécanisme de communication" pour les ressources de Cloud champ "uri" est de l'OBTENIR.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X