comme tout le monde l'a peut-être remarqué, il existe de nombreuses API REST fausses / rudimentaires dans la nature (qui implémentent une API HTTP et l'appellent REST sans suivre l'exigence de l'état de l'hypertexte en tant que moteur d'application, qui a conduit à la célèbre diatribe de Roy T. Fielding , l'homme qui a le premier spécifié le paradigme REST).
Je n'ai pas pu trouver d'exemples pratiques d'implémentation REST véritablement hypertexte avec les définitions de type de média spécifiques à l'application associées pour les transitions d'état.
Existe-t-il des exemples accessibles au public de telles implémentations?
Réponses:
Ce n'est pas une implémentation dans le sens de l'exécution de code, mais j'aime beaucoup l'article " Comment obtenir une tasse de café " sur InfoQ. Il décrit le processus de commande d'un café chez Starbucks comme un protocole RESTful. Cela va au-delà de l'article d'introduction REST typique «tout est une ressource» et se concentre sur HATEOAS. Hautement recommandé.
la source
Qu'en est-il de l' API Sun Cloud ? De l'introduction:
le histoire pourrait également être utile.
la source
Netflix dispose d'une API REST basée sur HATEOAS qui inclut des liens dans le cadre des ressources.
la source
Le RESTfulness de l'API Sun Cloud n'est-il pas réellement abordé dans le 4e point de Roy:
Exemple 1 Noms de ressources fixes dans une héritière définie:
Extrait de l'API Sun Cloud: "... la représentation d'un VDC comprendra des représentations des clusters qui l'habitent, qui à leur tour incluent des représentations des VM au sein de chaque cluster."
Exemple 2 hors bande, telles qu'une norme spécifique au domaine:
Vous devez avoir le contenu de la page wiki (informations hors bande) pour savoir que le "mécanisme de communication des ressources" pour le champ de ressources Cloud "uri" est GET.
la source
J'ai réalisé que cela avait été demandé il y a quelque temps, mais j'ai tenté de démontrer un flux d'API REST "approprié" pour un exemple simple. J'ai essayé de suivre les règles de Roy pour REST - peut-être que cela pourrait aider: Exemple d'API utilisant REST
la source