Une API REST (également appelée API RESTful) est une interface de programmation d'application (API ou API web) qui respecte les contraintes du style d'architecture REST et permet d'interagir avec les services web RESTful.
SOAP (Simple Object Access Protocol) est un protocole officiel géré par le W3C (World Wide Web Consortium). La principale différence entre les deux est que SOAP est un protocole, REST non. En général, les API suivent l'approche REST ou SOAP en fonction de leur utilisation et des préférences du développeur.
Les API RESTful se basent sur le protocole HTTP pour transférer les informations – le même protocole sur lequel la communication web est fondée ! Donc, lorsque vous voyez http au début d'une URL, comme http://twitter.com – votre navigateur utilise HTTP pour faire une requête de ce site web au serveur.
Comment fonctionne une API Rest ? Le client envoie une requête HTTP en précisant la ressource, le serveur traite la requête en récupérant les informations demandées dans sa base de données et ensuite renvoie une représentation de la ressource.
Comme décrit dans une thèse de Roy Fielding, REST est un “style architectural” qui exploite essentiellement la technologie et les protocoles existants du Web. RESTful est généralement utilisé pour faire référence aux services Web implémentant une telle architecture. “REST” est un paradigme architectural.
Ce style d'architecture d'API se distingue par son incroyable niveau de flexibilité. Comme les données ne sont pas liées aux méthodes et aux ressources, REST peut traiter plusieurs types d'appels, renvoyer différents formats de données et même changer de structure avec la mise en œuvre correcte de l'hypermédia.
Un Endpoint est ce qu'on appelle une extrémité d'un canal de communication. Autrement dit, lorsqu'une API interagit avec un autre système, les points de contact de cette communication sont considérés comme des Endpoints. Ainsi, pour les API, un Endpoint peut inclure une URL d'un serveur ou d'un service.
Il y a plusieurs avantages à utiliser Swagger, les principaux étant : La génération automatique de la documentation à partir du code. Tout changement dans le code met à jour automatiquement la documentation; les deux sont donc étroitement liés. Gain de temps et donc de qualité.
Django (Python)
Le framework REST de Django est facile à utiliser lorsque vous construisez vos API REST avec Django. Il demande un effort d'apprentissage aux débutants, mais possède d'excellentes fonctionnalités intégrées, comme l'authentification et la messagerie.
Pourquoi utiliser Postman ? La plupart des utilisateurs de Postman recourent à cette plateforme pour la construction et la formulation de requêtes, afin de tester des API sans avoir à renseigner de code.
REST (representational state transfer) est un style d'architecture logicielle définissant un ensemble de contraintes à utiliser pour créer des services web. Les services web conformes au style d'architecture REST, aussi appelés services web RESTful, établissent une interopérabilité entre les ordinateurs sur Internet.
La première est une architecture alors que la seconde est un protocole. La différence majeure entre les deux éléments réside dans le degré de liaison entre le client et le serveur. Un client développé avec le protocole SOAP ressemble à un logiciel d'ordinateur, car il est étroitement lié au serveur.
Les API REST fonctionnent sur la base d'une relation client/serveur en fournissant une interface uniforme. Une API REST a une interface uniforme qui est basée sur des ressources, est auto-descriptif et utilise HATEOAS.
Si vous naviguez vers http://localhost:3001/swagger, vous verrez la page de documentation générée à partir de votre code. Cliquez maintenant sur le bouton Try it out. Les champs deviennent éditables et vous pouvez envoyer des requêtes pour tester votre API.
Le but de la documentation API est:
Travailler comme une source de référence précise capable de décrire l'API de manière approfondie. Servir d'outil pédagogique et de guide pour aider les utilisateurs à se familiariser avec l'API et à l'utiliser.
Tous deux peuvent utiliser XML pour former les requêtes et les réponses. Cependant, SOAP dépend de XML par conception, tandis que REST peut également utiliser JSON, HTML et du texte brut.
Le framework Spring Boot permet de créer rapidement des API Rest solides selon une architecture de code respectant le modèle MVC. Dans ce document, la structure principale ainsi que ses éléments principaux seront présentés de façon à construire graduellement le squelette d'une API Rest.
Une API, ou interface de programmation d'application, est un ensemble de définitions et de protocoles qui facilite la création et l'intégration de logiciels d'applications.
Modèle de système multicouche
La cinquième contrainte de l'architecture REST est le modèle de système en couches, selon lequel une application doit pouvoir définir les ressources en les affectant à des couches de fonctionnalité, chaque couche correspondant à une capacité de service unique et partagée.