Publié le : 25/01/2023

Définitions du REST API

REST API

Une API REST (Application Programming Interface Representational State Transfer) est une interface de programmation qui permet aux applications de communiquer avec les services web. L’ API REST utilise les protocoles HTTP tels que GET, POST, PUT et DELETE. Elle permet de récupérer, créer, mettre à jour et supprimer des ressources. Les API REST utilisent des URL pour identifier les ressources et des codes HTTP pour indiquer le statut des réponses. Elles permettent également aux entreprises de partager des ressources et des informations. De plus, elle maintient un certain niveau de sécurité et de contrôle. Les développeurs peuvent utiliser des API REST pour créer des services web. Et avec l’API REST on n’a pas besoin de connaître les détails de la mise en cache pour utiliser les ressources.

Un REST API est un style architectural pour les systèmes informatique

C’est quoi d’abord un style architectural ?

Tout d’abord, donnons une définition d’un style architectural dans un système informatique. Dans un système informatique, un style architectural décrit la manière dont les différents composants du système sont organisés et interagissent entre eux. Il définit les normes de conception et les règles de développement pour les différents éléments d’un système. De ce fait, il permet que ces éléments soient faciles à utiliser, à maintenir, à évoluer et à intégrer avec d’autres systèmes.

Un style architectural peut décrire l’organisation des différents composants logiciels, comme les modules et les classes, ainsi que leur interaction. Il peut également décrire l’organisation des différents composants matériels, comme les serveurs, les réseaux et les stockages, ainsi que leur interaction. Il définit aussi les protocoles de communication et les standards à utiliser entre les différents composants.

Plusieurs styles architecturaux existent, tels que l’architecture client-serveur, l’architecture orientée services, l’architecture microservices, l’architecture en couches, etc. Chacun d’entre eux a ses propres avantages et inconvénients, et convient à des cas d’utilisation spécifiques.

Le REST API est un style architectural

REST (Representational State Transfer) est un style architectural pour les systèmes d’API qui permet une communication efficace et standardisée entre les applications. Il se base sur l’utilisation des protocoles HTTP avec les méthodes :

  • GET,
  • POST,
  • PUT,
  • DELETE,
  • etc…

pour indiquer l’action à effectuer sur les ressources, et sur l’utilisation des URLs pour identifier les ressources.

Par exemple, si vous voulez récupérer les informations d’un utilisateur avec l’identifiant 123, vous pourriez :

  1. utiliser une URL de la forme « https://example.com/users/123 » et la méthode HTTP GET.
  2. Ensuite, le serveur répondrait alors avec les informations de l’utilisateur sous forme de JSON ou XML.
  3. Enfin, si vous voulez ensuite mettre à jour les informations de cet utilisateur, vous pourriez utiliser la méthode HTTP PUT et envoyer les nouvelles informations au serveur.

Un autre exemple concret d’utilisation de REST est la récupération des tweets sur Twitter. L’API de Twitter est basée sur le protocole REST. Et pour utiliser des URLs pour récupérer des tweets selon différents critères. Par exemple, l’URL « https://api.twitter.com/1.1/statuses/home_timeline.json » récupère les tweets de votre fil d’actualités, ou « https://api.twitter.com/1.1/search/tweets.json?q=openai » récupère les tweets contenant le mot « openai ».

En utilisant des protocoles et des formats standardisés, les API REST permettent aux développeurs de créer des applications qui peuvent interagir avec des services en ligne de manière efficace et fiable. Cela facilite également la mise en place de nouvelles fonctionnalités et l’intégration de nouveaux services. Et c’est ce qui fait sa popularité.

Les API REST utilisent des URLs pour identifier les ressources, avec des paramètres d’URL pour filtrer ou affecter ces ressources.

Les API REST utilisent des URLs pour identifier les ressources disponibles dans le système. Les URLs sont des adresses uniques qui permettent d’accéder à une ressource spécifique. Par exemple, une API REST pour un service de météo pourrait avoir une URL comme « api.weather.com/forecast/zipcode=90210 » pour accéder aux informations météorologiques pour le code postal 90210. Les utilisateurs peuvent envoyer une demande HTTP à cette URL pour récupérer les données météorologiques correspondantes.

Les API REST permettent également d’utiliser des paramètres d’URL pour filtrer ou affecter les ressources. Ces paramètres permettent aux utilisateurs de spécifier des critères supplémentaires pour affiner les données qu’ils souhaitent récupérer. Par exemple, une API pour un service de météo pourrait utiliser des paramètres tels que « start_date » et « end_date » pour récupérer les informations météorologiques pour une plage de dates spécifique. Les utilisateurs peuvent également utiliser des paramètres pour affecter les ressources, comme :

« location » pour définir la localisation pour laquelle les informations météorologiques sont requises.

En une phrase, les API REST utilisent des URLs pour identifier les ressources avec des paramètres pour les filtrer ou les affecter.

Ils utilisent des codes HTTP pour indiquer le statut de la réponse

Les API REST utilisent des codes HTTP pour indiquer le statut de la réponse, c’est-à-dire si la demande a réussi ou échoué. Les codes HTTP standard tels que 200 OK, 201 Created, 204 No Content, 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found et 500 Internal Server Error sont utilisés pour informer l’appelant de l’état de la demande. Ces codes HTTP permettent aux développeurs de gérer les erreurs et les situations exceptionnelles de manière efficace et de communiquer de manière standardisée avec les clients de l’API.

Les codes HTTP standard sont définis dans la spécification HTTP (Hypertext Transfer Protocol). C’est un protocole de communication utilisé pour transférer des données sur Internet. Ces codes sont généralement inclus dans la réponse HTTP envoyée par le serveur à l’appelant, sous la forme d’un entier à 3 chiffres.

Les codes HTTP standard et leur signification sont définis dans la RFC 7231 (Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content) qui est une spécification officielle pour HTTP/1.1. Les développeurs peuvent consulter cette spécification pour obtenir une liste complète des codes HTTP standard et leur signification.

Les codes HTTP standard sont accesible à cette adresse : https://tools.ietf.org/html/rfc7231

Ils sont également disponible sur différents sites internet qui recensent ces codes et leur signification tels que : https://developer.mozilla.org/fr/docs/Web/HTTP/Status https://www.restapitutorial.com/httpstatuscodes.html

Il est important de noter que ces codes HTTP ne sont pas propres aux API REST. Ces codes sont plutôt utilisés dans toutes les interactions HTTP, c’est pourquoi ils sont définis dans la spécification HTTP.

Exemples de réponse avec les codes de réponses

Voici un exemple de réponse HTTP pour une demande d’accès à un tweet spécifique via les API REST de Twitter :

  • Si la demande a réussi, le serveur renverra un code HTTP 200 OK accompagné du tweet demandé au format JSON :
Content-Type: application/json
{
  "created_at": "Mon Sep 24 03:35:21 +0000 2012",
  "id": 250198740212695808,
  "text": "just another test",
  "user": {
    "name": "OAuth Dancer",
    "screen_name": "oauth_dancer"
  }
}
  • Si la demande a échoué car le tweet demandé n’existe pas, le serveur renverra un code HTTP 404 Not Found :
Content-Type: application/json
{
  "errors": [
    {
      "code": 34,
      "message": "Sorry, that page does not exist."
    }
  ]
}
  • Si la demande a échoué car l’authentification de l’utilisateur est manquante ou invalide, le serveur renverra un code HTTP 401 Unauthorized :
Content-Type: application/json
{
  "errors": [
    {
      "code": 32,
      "message": "Could not authenticate you."
    }
  ]
}

Il est important de noter que ces exemples sont donnés à titre indicatif. Twitter peut changer les codes HTTP utilisés dans leur API REST ainsi que la structure de la réponse. Il est donc conseillé de consulter la documentation de l’API pour obtenir les informations les plus à jour.

Comment accéder aux REST API ?

Les mots clés rattachés à cet article : Rest api

Nos clients

Une vingtaine de clients nationaux et internationaux