Cours Sur Les API REST
Cours Sur Les API REST
SOMMAIRE
1. Introduction aux API REST
2. Principes fondamentaux
7. Technologies d'implémentation
8. Tests et documentation
9. Conclusion
1.1 Définition
Une API REST (Representational State Transfer) est un style d'architecture pour la conception
d'applications en réseau, principalement utilisé pour créer des services web.
1.2 Historique
Introduit par Roy Fielding dans sa thèse de doctorat en 2000
Développé comme une alternative aux protocoles complexes comme SOAP et RPC
Adoption massive à partir de 2005-2010 avec l'essor du web 2.0
2. PRINCIPES FONDAMENTAUX
Relations: /utilisateurs/123/commandes
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: max-age=3600
{
"id": 123,
"nom": "Dupont",
"email": "[email protected]"
}
4xx Erreur client 400 Bad Request, 401 Unauthorized, 404 Not Found
5xx Erreur serveur 500 Internal Server Error, 503 Service Unavailable
Filtrage: ?status=active&category=electronics
Tri: ?sort=price,desc
json
{
"status": 400,
"message": "Validation failed",
"errors": [
{"field": "email", "message": "Invalid email format"}
],
"error_id": "5d2da1c4-1a6b-4f5d-8823-5a5e8f2fd5e7"
}
5.5 HATEOAS
Hypermedia as the Engine of Application State - inclusion de liens dans les réponses:
json
{
"id": 123,
"nom": "Dupont",
"_links": {
"self": {"href": "/utilisateurs/123"},
"commandes": {"href": "/utilisateurs/123/commandes"},
"modifier": {"href": "/utilisateurs/123", "method": "PUT"}
}
}
6.1 Authentification
Basic Authentication
Scopes OAuth
7. TECHNOLOGIES D'IMPLÉMENTATION
8. TESTS ET DOCUMENTATION
ReDoc
Postman Collections
API Blueprint
API Blueprint
9. CONCLUSION
Indépendance de la technologie
Scalabilité et fiabilité
API serverless
API Event-Driven
RÉFÉRENCES ET RESSOURCES
1. Roy Fielding, "Architectural Styles and the Design of Network-based Software Architectures", 2000