3. API : Application Programming Interface
=> Point d’entrée permettant à un logiciel d’offrir des services à d'autres logiciels.
REST : Representational State Transfer
=> Chaque ressource doit avoir un identifiant unique (URI).
=> Utilisation du protocole HTTP pour la manipulation des ressources.
=> Les ressources doivent être liées les unes aux autres par des liens.
API REST ?
22. Filtres par défaut
Pagination des listes
Format custom
FOS User Bundle integration
Authentification JWT
Gestion des rôles
Pour aller plus loin
FetchEager
Behat et Behatch
Documentation Swagger / Nelmio
GraphQL support
Schema.org
Back Office en React
23. Conclusion
+
Rapide et facile à mettre en place
Souple et paramétrable
Communauté active
Préconisé par SensioLabs
-
Quelques bugs
Doc relativement peu à jour
28. JSON for Linked Data
=> Développé par Google.
=> Recommandé par le W3C depuis 2014.
=> JSON Standard avec des clés spéciales pour décrire le contexte
=> Compatible avec les technologies existantes
JSON-LD
{
"@context": "/api/contexts/Book",
"@id": "/api/books/1",
"@type": "Book",
"id": 1,
"title": "Da Vinci Code",
"editor": "/api/editors/1"
}