REST s’est imposé dans le monde du web comme étant un paradigme approuvé et éprouvé pour concevoir des APIs (Application Programming Interface).
De grandes entreprises comme Github, Facebook (Graph) ou YouTube l’utilisent pour fournir des APIs largement utilisées pour accéder à leurs services.
À l’ère des sites web en Single Page Applications et des applications mobiles (Android, IOS ou encore Windows Phone), savoir développer une API est devenu incontournable.
Pourquoi utiliser REST plutôt qu’une autre technologie ou architecture ? Quels avantages cela peut-il nous apporter ? Comment développer une API REST avec Symfony ?
Tout au long de ce cours, nous allons apprendre à mettre en œuvre les principes de REST pour développer rapidement une application web fiable et extensible avec le framework Symfony et l’un de ses bundles phares FOSRestBundle.
Un tour d'horizon des concepts REST
Développement de l'API REST
-
Notre environnement de développement
-
Premières interactions avec les ressources
-
FOSRestBundle et Symfony à la rescousse
-
Créer et supprimer des ressources
-
Mettre à jour des ressources
-
Relations entre ressources
-
TP : Le clou du spectacle - Proposer des suggestions aux utilisateurs
-
REST à son paroxysme
Amélioration de l'API REST
-
Sécurisation de l'API 1/2
-
Sécurisation de l'API 2/2
-
Créer une ressource avec des relations
-
Quand utiliser les query strings ?
-
JMSSerializer : Une alternative au sérialiseur natif de Symfony
-
La documentation avec OpenAPI (Swagger RESTFul API)
-
Automatiser la documentation avec NelmioApiDocBundle
-
FAQ
Nous avons pu voir tout au long de ce cours que les contraintes REST permettent de mettre en place une API uniforme et facile à prendre en main. La mise en œuvre de ces contraintes offre un ensemble d’avantages et le framework Symfony dispose d’outils suffisamment matures pour aider dans les développements.
Ce cours bien qu’étant assez long n’aborde pas tous les concepts de REST ni toutes les fonctionnalités qu’apportent FOSRestBundle et les différents bundles utilisés. Son objectif est de présenter de manière succincte l’essentiel des notions à comprendre pour pouvoir développer une API RESTFul et l’améliorer en toute autonomie.
Le style d’architecture REST ne s’occupe pas des détails d’implémentations mais plutôt du rôle de chaque composant de notre application.
N’hésitez surtout pas enrichir l’API et à explorer les documentations officielles des différents outils abordés pour mieux cerner tout ce qu’ils peuvent vous apporter.