Par le biais d'un requête API, une application web peut interroger un microservice, c'est-à-dire demander quelque chose à un autre logiciel: voici ce que c'est et comment cela fonctionne
Un requête API est un processus par lequel deux logiciels échangent des données. Lorsqu'une application fait un requête API, elle envoie à une autre application une demande spécifique qui est reçue et traitée par une API.
Pour comprendre ce qu'est un requête API et comment il fonctionne, il faut d'abord clarifier la nature et le rôle des API - Application Programming Interfaces: voyons donc ce que sont les API, ce qu'est un requête API et, plus en détail, comment l'interaction entre une application et une autre se fait par le biais d'un requête API.
Les API sont des éléments d'une structure intermédiaire qui permet à différentes applications web de communiquer entre elles. Dans les logiciels qui en sont dotés, les API se chargent d'exposer certaines données au monde extérieur, de sorte que les informations puissent être partagées avec d'autres applications qui en font la demande.
Depuis quelques années, le monde du logiciel a abandonné l'approche "monolithique" traditionnelle et s'est tourné vers une nouvelle architecture d'application web, basée sur des microservices indépendants.
Cela signifie qu'aujourd'hui, lorsqu'on utilise un réseau social par exemple, on n'interagit pas avec un énorme logiciel qui traite toutes les demandes de l'utilisateur, mais avec un large éventail de petits programmes qui fonctionnent de manière autonome : login, chat, etc. - dans un schéma où chaque fonction différente invoque un service.
Dans une architecture basée sur les microservices, les API sont l'élément de base de la communication entre les logiciels. Les applications exposent au monde extérieur les services qu'elles souhaitent partager avec d'autres via des API - de petits opérateurs qui attendent d'être interrogés, c'est-à-dire de recevoir un requête d'API.
La tâche des API est d'écouter, de vérifier la validité des communications et de fournir une réponse à chaque demande entrante valide.
Un requête API est l'opération par laquelle une application web interroge un microservice, c'est-à-dire demande quelque chose à un autre logiciel.
Vous faites un requête API, par exemple, chaque fois que vous vous connectez ou que vous entrez les détails de votre carte de crédit pour effectuer un paiement, mais aussi chaque fois que vous effectuez une recherche sur Google ou que vous choisissez un film sur Netflix.
Ce qui se passe lors d'un requête API, du point de vue d'une application qui demande des services à un autre logiciel, est plus ou moins ce qui se passe dans le schéma plus classique de la communication.
Dans le contexte de l'échange d'informations entre applications, les API sont le médium, c'est-à-dire le moyen de communication qui permet l'échange d'informations entre un logiciel émetteur, qui dans ce cas est le demandeur ou le client, et le programme destinataire, ou le serveur.
En ce sens, l'requête API est la base de l'architecture microservice: les API sont les "récepteurs" individuels qui attendent un requête, tandis que l'requête API est le processus qui définit le rôle de l'API dans l'interaction entre les logiciels.
En ce qui concerne le message au sens strict, il existe toutefois plusieurs requêtes qui peuvent être effectuées par le biais d'un requête d'API.
Parmi les approches possibles de l'architecture des microservices, la plus répandue est celle dite RESTful ou Rest, une sorte de standard "étendu" auquel il faut adhérer et qui impose certaines contraintes structurelles (par exemple, la manipulation des ressources par des représentations ou l'auto-descriptivité des messages).
Les différents types de requêtes API les plus couramment utilisés aujourd'hui correspondent à 5 prédicats HTTP possibles, typiques de l'approche architecturale Rest:
Dans une structure de microservice de type Rest, tout ce qui se passe entre la demande du client et la réponse du serveur se déroule sur une couche intermédiaire entre l'application et le serveur (l'API ne fait pas partie par hasard de ce que l'on requêtele le middleware). C'est également là que se trouvent les éléments qui constituent un requête API, à savoir:
Une des contraintes typiques de l'approche Rest concerne la relation serveur-client : les deux applications doivent pouvoir évoluer séparément, sans relation d'interdépendance. C'est-à-dire que pour communiquer, les applications serveur et client doivent seulement et exclusivement connaître l'URL de la ressource, c'est-à-dire la manière de l'atteindre.
En ce sens, l'apparence d'un requête API Rest correspond à l'URL de la ressource: l'requête est effectué en interrogeant directement l'endpoint à partir duquel une réponse est attendue, c'est-à-dire en invoquant une URL donnée.
En supposant que l'endpoint est correct, le client vérifie dans un premier temps les options disponibles via ce que l'on requêtele le Pre-flight, une requête de pré-vol pour connaître les méthodes de communication disponibles et le type d'authentification requis pour exécuter l'requête (souvent un nom d'utilisateur et un mot de passe ou un jeton secret).
L'application qui reçoit l'requête API répond avec une liste de prédicats disponibles et toute autre exigence. Le client formule la demande d'API ; si elle est valide, l'API communique la demande au programme externe et, une fois qu'elle a reçu une réponse, elle distribue les données au programme qui les a demandées.
L'requête à l'API est immédiat et synchrone: une fois qu'une API a été interrogée, l'application cliente cesse ses requêtes jusqu'à ce qu'elle reçoive une réponse ou un message d'interruption.