Créer une API ☑︎
La création d'une API avec Symfony
Symfony accompagné de API Platform permet de créer des API REST facilement.
Pourquoi créer une API ?
Les API sont un élément essentiel de l'architecture d'une application. Elles permettent de communiquer avec d'autres applications, de partager des données, d'utiliser des services aux fonctionnalités variés (paiement, envoi de mail, etc.).
Comment créer une API avec Symfony ?
Symfony permet de créer des API facilement grâce à l'outil API Platform. API Platform est un ensemble d'outils qui permettent de créer des API REST et GraphQL.
Voici les étapes pour créer une API avec Symfony et API Platform :
Créez un projet Symfony depuis votre terminal
Configurez la base de données de votre choix, ici on utilisera SQLite. Commencez par décommenter la ligne DATABASE_URL="sqlite:///%kernel.project_dir%/var/data.db"
et commenter les autres.
Puis créez la base de données
Aïe ! Petit problème, la commande n'est pas reconnu. C'est normal il nous manque l'ensemble des commandes du MakerBundle.
Installez le MakerBundle et ORM pour créer la base de données et les entités
Puis on installe le package ORM
Maintenant, on peut créer notre base de donnée symfony console d:d:c
puis une première entité
Voici la liste des propriétés de notre entité :
Nom | Type | Détail | Nullable |
---|---|---|---|
firstname | string | 50 caractères | Non |
lastname | string | 50 caractères | Non |
speciality | string | 50 caractères | Non |
address | string | 255 caractères | Non |
city | string | 50 caractères | Non |
zip | string | 5 caractères | Non |
phone | string | 12 caractères | Oui |
Voilà maintenant que notre entité est créée, on peut faire la migration
Et on peut exécuter la migration
À ce stade rien de nouveau, on a déjà fait ça plusieurs fois. Passons maintenant à l'installation de API Platform.
Ce package va installer plusieurs dépendances dont API Platform Core, API Platform Admin, API Platform Schema Generator, API Platform Migrations et API Platform Doctrine ORM.
On termine la configuration en ajoutant une annotation à notre entité
Rendez-vous sur la page /api
de votre projet, vous devriez voir une page avec la liste des routes de votre API.
Avant de se quitter, on va ajouter quelques données dans notre base de données. Pour cela, on va créer des données de test avec le package Fixtures et Faker.
Puis
Dans le dossier src/DataFixtures
, insérez le code suivant dans le fichier AppFixtures.php
et ajoutez-y le code suivant :
N'oubliez pas d'exécuter la commande suivante pour insérer les données dans la base de données
On a désormais des données de test dans notre base de données. On peut maintenant les afficher dans notre API !
Et voilà, vous avez créé votre première API avec Symfony et API Platform. Vous pouvez désormais mettre en place des Assertions pour la validation des données, mettre en place des filtres, une pagination ou encore l'authentification avec JWT.
N'oubilez pas de tester votre API avec Postman ou Insomnia.
Ressources :
Dernière mise à jour