Qu'est ce qu'une API REST?

04 Février 2020 clemdesign

Savez-vous ce qu'est une API REST ?

Je suis plutôt créatif, à visualiser mentalement la conception mais lorsque l'on me demande d'expliquer ce qu'est une API REST, on me perd... xD

Eh oui, cela vous arrive peut être de comprendre une fonctionnalité, sans pour autant pouvoir mettre des mots. J'ai rencontré une personne surprenante et très compétente, qui m'a expliqué clairement les réponses avec les mots justes à certaines questions auxquelles j'avais du mal à répondre simplement...

Je vous en dis un peu plus. ;)

Qu'est ce qu'une API ?

Sauriez-vous répondre à cette question à un entretien par exemple?. :?

Une API (Application Programming Interface) est comme son nom l'indique une interface de programmation applicative. Plus concrétement, elle est le lien entre deux entités distinctes: le besoin et le service. L'API est normalisé c'est à dire que le client sait comment le transmetteur formalise sa donnée.

Exemple:
Pour intégrer OpenSteetMap sur un site internet par le biais de Leaflet, on utilise l'API suivante: https://leafletjs.com/reference-1.6.0.html

Qu'est ce qu'une interface REST ?

Sauriez-vous répondre à cette question là ? ;)

Une interface REST (REpresentational State Transfer) est une nomenclature qui définit une architecture logicielle (ou protocole) de communication entre deux entités. Ainsi, une entité A effectue une requête normée à l'entité B, qui transmet sa réponse.

L'interface REST utilise les méthodes HTTP pour des actions bien précises: GET, HEAD, POST, PUT, PATCH, DELETE, CONNECT, OPTIONS et TRACE.

Exemple:
Voici une definition de l'implémentation de l'interface REST: https://www.supinfo.com/articles/single/5642-qu-est-ce-qu-une-api-rest-restful

Qu'est ce qu'un micro-service ?

Un micro-service est une réponse à un besoin bien précis. Les différents micro-services sont indépendants faiblement couplés.

On peut ainsi utiliser une interface REST pour définir plusieurs micro-services et les relier entre eux.

Exemple:
Imaginons qu'une application gère des utilisateurs en REST, avec la possibilté d'en ajouter, supprimer et modifier. On peut créer les micro-services suivants:

<path-to-app>/user/add            // Micro-service pour ajouter
<path-to-app>/user/delete/{id}    // Micro-service pour supprimer
<path-to-app>/user/edit/{id}      // Micro-service pour modifier

Evidement, beaucoup d'autres questions intéressantes nécessiteraient une petite analyse, mais je vais me limiter à celles-ci pour le moment. ;)

Je vous dis à plus pour le prochain article. xD

Article précédent Article suivant


Ajouter un commentaire