quels sont les composants d'une api

APIGit

2023-04-19

card-Components-of-an-API

Quels sont les composants d'une API ?

Les API sont des ensembles d'instructions basées sur du code qui permettent aux composants logiciels de communiquer et de transférer des données, et elles sont les éléments constitutifs de toutes les applications modernes. Mais quels sont les éléments constitutifs des API elles-mêmes ? Dans cet article, nous allons passer en revue les différents composants d'une API REST en suivant une requête de bout en bout.

Client d'API

Les requêtes API peuvent être déclenchées de différentes manières. Par exemple, un utilisateur peut lancer une demande d'API en saisissant un terme de recherche, en cliquant sur un bouton ou en faisant défiler une liste sur une application Web ou mobile. Les demandes d'API peuvent également être émises en réponse à des événements externes, tels qu'une notification d'une autre application ou d'un autre service. Quelle que soit la manière dont la requête API est déclenchée, un client API sera chargé de l'assembler et de la diriger vers le serveur API.

Il est important de noter que l'expression "client API" peut signifier différentes choses selon le contexte. Premièrement, il peut faire référence à un outil de développement qui élimine une partie de la complexité de l'envoi manuel de demandes d'API, ce qui facilite l'exploration, le test et le débogage des API. Il peut également faire référence à un service qui utilise des bibliothèques et des SDK spécifiques à un langage pour initier des demandes d'API dans le contexte d'une application plus vaste. Les deux types de clients API sont chargés de gérer les données renvoyées par l'API et de les présenter à l'utilisateur, mais ce dernier type de client peut également utiliser les données renvoyées dans le flux logique de l'application.

Demande d'API

Nous avons mentionné qu'un client API est chargé d'envoyer des requêtes API en réponse à des actions de l'utilisateur ou à des événements externes, mais qu'est-ce, exactement, qu'une requête API ? Une demande d'API se présentera et se comportera différemment selon le type d'API. Cela étant dit, une requête API à une API REST comprend les composants suivants :

  • Point final : Chaque demande d'API est dirigée vers un point de terminaison d'API, qui est une URL dédiée qui donne accès à une ressource spécifique. Par exemple, le point de terminaison /products dans une application de commerce électronique inclurait la logique de traitement de toutes les demandes liées aux produits. La requête doit donc désigner un endpoint pour que le serveur API sache comment procéder. Nous discuterons bientôt du serveur API plus en détail.
  • Méthode: Chaque demande d'API doit inclure une méthode, qui définit l'opération que le client souhaite effectuer sur la ressource spécifiée. Les API REST sont accessibles via des méthodes HTTP standard, telles que GET, POST, PUT, PATCH et DELETE, qui facilitent les actions courantes telles que la récupération, la création, la mise à jour ou la suppression de données. Une requête GET au point de terminaison /products indiquerait au serveur d'API de renvoyer chaque produit de la base de données.
  • Paramètres: Les paramètres sont les variables transmises à un point de terminaison d'API pour fournir des instructions spécifiques à traiter par l'API. Ces paramètres peuvent être inclus dans la demande d'API dans le cadre de l'URL, dans la chaîne de requête ou dans le corps de la demande. Par exemple, le point de terminaison /products d'une API de commerce électronique peut accepter un paramètre "couleur", qu'il utiliserait pour accéder et renvoyer des produits d'une couleur spécifique.
  • En-têtes de requête: les en-têtes de requête API sont des paires clé-valeur qui fournissent des informations supplémentaires sur la requête. Par exemple, l'en-tête Content-Type spécifie le format des données dans le corps de la demande, tandis que l'en-tête Authorization fournit des informations d'authentification, telles qu'une clé API ou un jeton OAuth, pour authentifier le demandeur.
  • Corps de la requête : Le corps de la demande inclut les données réelles nécessaires pour créer, mettre à jour ou supprimer une ressource. Par exemple, si l'administrateur d'une boutique en ligne doit créer un nouveau produit, le corps de la requête peut inclure le nom, la marque et le prix du produit. La spécification de l'API dictera le format de données requis pour la demande, tel que JSON ou XML.

Serveur d'API

Une fois que le client d'API a assemblé la demande, il l'envoie au point de terminaison approprié sur le serveur d'API pour traitement. Le serveur API est chargé de gérer l'authentification, de valider les données d'entrée, de récupérer ou de manipuler les données d'une base de données et de renvoyer la réponse appropriée au client.

Il est important de noter que même si la base de données elle-même n'est pas un composant de l'API, l'API ne peut pas fonctionner sans elle. Alors que le serveur API récupère et manipule les données d'application en fonction d'une demande, la base de données stocke et organise ces données de manière à faciliter une récupération et une manipulation efficaces. Le serveur API agit donc comme un intermédiaire entre le client API et la base de données.

Réponse de l'API

Nous avons mentionné ci-dessus que le serveur API est chargé d'envoyer une réponse au client après avoir traité la demande. Le contenu des réponses de l'API peut varier considérablement en fonction du type de requête et de la conception de l'API, mais elles incluent généralement les composants suivants :

  • Code d'état : Les codes d'état de l'API sont des codes d'état HTTP qui sont renvoyés par une API pour indiquer l'état de la demande d'un client. Ces codes sont utilisés pour fournir des informations au client sur le résultat de la demande et pour aider le client à comprendre comment procéder. Certains des codes d'état les plus courants incluent 200 OK, qui indique que le serveur a renvoyé avec succès les données demandées, 201 Created, qui indique que le serveur a créé avec succès une nouvelle ressource, et 404 Not Found, qui indique que le serveur n'a pas pu trouver les données demandées. Ressource.
  • En-têtes de réponse : Les en-têtes de réponse sont très similaires aux en-têtes de requête, sauf qu'ils sont utilisés pour fournir des informations supplémentaires sur la réponse du serveur. Par exemple, l'en-tête Cache-Control fournit des instructions sur la durée de stockage des données dans un cache, tandis que l'en-tête Set-Cookie définit un cookie dans le navigateur, qui peut être utilisé pour la gestion de session ou l'authentification.
  • Corps de la réponse : Le corps de la réponse contient les données ou le contenu renvoyés par le serveur d'API en réponse à la demande du client. Les corps de réponse varient considérablement, mais ils incluent généralement des objets de données structurés qui représentent les ressources demandées, les métadonnées et, si la demande a échoué, des messages d'erreur sur ce qui s'est mal passé. Par exemple, une requête GET réussie pour un produit spécifique peut inclure une représentation JSON de ce produit, ainsi qu'un horodatage et la source des données.

Bien que REST soit l'architecture d'API la plus courante, d'autres types d'API, tels que GraphQL et gRPC, auront des composants différents. Néanmoins, cette liste inclut les composants de base impliqués dans l'exécution des demandes à chaque API RESTful.

Aujourd'hui, des dizaines de milliers de développeurs utilisent la plateforme Apitgit. Apitgit simplifie chaque étape du cycle de vie des API et rationalise la collaboration afin que vous puissiez créer de meilleures API plus rapidement.