Turns out REST APIs weren't the answer (and that's OK!)

Dylan Beattie
24 Jun 202410:38

Summary

TLDRDans cette vidéo, l'orateur discute des API, en particulier des REST API. Il explique l'origine des technologies web comme HTML, HTTP et les URLs, et décrit l'évolution vers les applications client-serveur. Il aborde l'architecture REST définie par Roy Fielding en 2000, soulignant que REST est un style architectural, non un framework. L'orateur mentionne les défis de l'implémentation de hypermedia et compare REST avec d'autres technologies comme GraphQL et gRPC. Finalement, il souligne l'importance d'OpenAPI et Swagger pour la création d'API interactives et bien documentées, concluant sur l'évolution et l'adaptation des termes en fonction de leur usage.

Takeaways

  • 🌐 L'API REST est basée sur les technologies du Web, notamment HTML, HTTP et les URLs.
  • 🛠️ REST est un style architectural, pas un cadre ou une bibliothèque à télécharger.
  • 🔗 HATEOAS est un principe clé de REST, où les réponses du serveur incluent des liens pour indiquer les actions possibles.
  • 📚 La thèse de Roy Fielding a défini REST et est une référence pour comprendre les origines de cette architecture.
  • 🤔 L'adoption de HATEOAS n'a pas été aussi large que celle du HTML, malgré des tentatives telles que SIREN, HYDRA, JSON-LD, HAL et Collection+JSON.
  • 📈 Il y a deux écoles de pensée sur ce qu'est une API REST : les puristes et ceux qui utilisent REST comme terme générique pour les API non-XML-RPC, non-SOAP, non-GraphQL, etc.
  • 📝 Swagger, maintenant OpenAPI, a joué un rôle crucial dans la promotion des API bien documentées et interactives, qui s'intègrent bien avec les mécanismes fondamentaux du Web.
  • 🕊️ REST était conçu pour une échelle de décennies, mais la plupart des organisations ne construisent pas de logiciels à cette échelle.
  • 🔄 Les discontinuités technologiques rendent difficile la réalisation de cette échelle de décennie pour les API REST.
  • 🛑 Les erreurs dans les réponses 200 OK ne sont pas acceptables dans une API REST conforme aux normes.
  • 🌱 OpenAPI a atteint le point culminant pour l'exposition de données et de comportements sur le Web, offrant un équilibre entre simplicité et fonctionnalité.

Q & A

  • Qu'est-ce qu'une API REST et pourquoi est-elle importante?

    -Une API REST est une interface de programmation d'application (API) qui suit le style architectural REST, qui signifie Transfert d'État Représentationnel. C'est importante car elle permet aux différents systèmes de communiquer de manière efficace en utilisant des protocoles et des modèles courants du Web, comme HTTP et les URL.

  • Quels sont les trois éléments inventés par Tim Berners-Lee qui ont contribué à la création du Web?

    -Tim Berners-Lee a inventé le langage de balisage hypertexte (HTML), le protocole de transfert hypertexte (HTTP) et les localisateurs d'unifiés de ressources (URLs).

  • Pourquoi les web services ont-ils été remplacés par d'autres approches pour construire des applications client-serveur?

    -Les web services, initialement basés sur SOAP et XML, étaient considérés comme lourds et complexes. Elles ont été remplacées par des approches plus légères et flexibles telles que REST, GraphQL et gRPC pour répondre aux besoins changeants des applications modernes.

  • Quel est le rôle de Roy Fielding dans l'histoire des API REST?

    -Roy Fielding a publié sa thèse de doctorat intitulée 'Architectural Styles and the Design of Network-based Software Architectures' où il a défini le style architectural REST et a fourni un guide pour la conception d'APIs efficaces.

  • Qu'est-ce que HATEOAS et pourquoi est-il important dans le contexte des API REST?

    -HATEOAS signifie Hypermedia as the Engine of Application State. C'est l'idée que les réponses d'une API REST devraient inclure des hypermédia quiindiquent aux clients ce qu'ils peuvent faire avec les données reçues, améliorant ainsi la découvrabilité et l'interactivité de l'API.

  • Pourquoi l'adoption de normes hypermédia telles que SIREN ou HAL n'a-t-elle pas été aussi large que celle du HTML?

    -L'ajout d'hypermédia à des formats tels que XML ou JSON est plus complexe que dans HTML, qui définit explicitement comment le faire. Aucune de ces normes n'a atteint une adoption aussi large que HTML, en partie à cause de la complexité et de la variété des formats de données utilisés.

  • Quelle est la différence de philosophie entre les puristes du REST et les personnes qui utilisent le terme de manière plus large?

    -Les puristes, ou RESTafarians, soutiennent que les API doivent inclure des contrôles hypermédia pour être considérées comme des API REST. D'un autre côté, d'autres utilisent le terme REST comme un terme universel pour tout ce qui n'est pas lié à une technologie spécifique en vogue, comme SOAP ou GraphQL.

  • Quel a été l'impact de Swagger (OpenAPI) sur le développement des API?

    -Swagger, renommé en OpenAPI pour la spécification de format, a créé un standard de facto pour les API interactives, découvrables et bien documentées, qui fonctionnent en harmonie avec les mécanismes fondamentaux du Web.

  • Pourquoi les clients intelligents basés sur l'hypermédia n'ont-ils pas été aussi populaires que prévu?

    -La création de clients intelligents qui consomment des ressources hypermédia et construisent des interfaces utilisateur dynamiques s'est avérée être plus complexe que prévu. Les technologies telles que HTML, GraphQL et gRPC se sont avérées être des options plus efficaces pour construire des interfaces utilisateur riches.

  • Quelle est la position de l'orateur sur l'utilisation du terme REST API pour les API qui n'utilisent pas l'hypermédia?

    -L'orateur suggère que si les API utilisent des méthodes HTTP standard, comme PUT et POST, avec la négociation de contenu et l'authentification, et qu'elles ne renvoient pas d'erreurs dans une réponse 200 OK, alors les appeler API REST pourrait être acceptable, même sans hypermédia.

  • Quel a été le message final de l'orateur à la fin de la vidéo?

    -L'orateur a remercié les téléspectateurs d'avoir regardé la vidéo, soulignant que le langage évolue pour refléter l'utilisation et que le terme REST peut évoluer de la même manière.

Outlines

plate

هذا القسم متوفر فقط للمشتركين. يرجى الترقية للوصول إلى هذه الميزة.

قم بالترقية الآن

Mindmap

plate

هذا القسم متوفر فقط للمشتركين. يرجى الترقية للوصول إلى هذه الميزة.

قم بالترقية الآن

Keywords

plate

هذا القسم متوفر فقط للمشتركين. يرجى الترقية للوصول إلى هذه الميزة.

قم بالترقية الآن

Highlights

plate

هذا القسم متوفر فقط للمشتركين. يرجى الترقية للوصول إلى هذه الميزة.

قم بالترقية الآن

Transcripts

plate

هذا القسم متوفر فقط للمشتركين. يرجى الترقية للوصول إلى هذه الميزة.

قم بالترقية الآن
Rate This

5.0 / 5 (0 votes)

الوسوم ذات الصلة
API RESTWeb DéveloppementHTTPHypermédiaHATEOASOpenAPISwaggerJSONXMLClient DynamiqueInterface Utilisateur
هل تحتاج إلى تلخيص باللغة الإنجليزية؟