API Rest avec Yii2 et Swagger

adminActualités

Yii2 – framework PHP

Gii, le générateur de code intégré à Yii

Gii, le générateur de code intégré à Yii

A l’occasion du développement d’un projet personnel, je me suis remis à Yii2. Grâce au template avancé, j’ai séparé le projet en trois parties distinctes : le frontend, le backend et l’API. L’avantage de Yii2 est de proposer d’emblée des fonctionnalités pour mettre en place une API Rest, respectant le modèle Open-API, en quelques instants.

A partir de la structure des tables de la base de données, l’outil intégré à Yii2 (Gii), permet de générer les modèles et les contrôleurs. Il ne reste plus qu’à les configurer et à ajouter ses propres fonctions.

De cette manière, mon backend et mon frontend n’effectueront aucun appel direct à la base de données, mais passeront systématiquement par les méthodes proposées par l’API. Il en sera de même pour l’application mobile qui viendra ensuite (je prévois d’utiliser ionic).

Mais la mise en place d’un tel système nécessite une documentation et des moyens de tests rapides. Rien de plus laborieux que de mettre ça en place…

Merci Swagger !

Les directives de Swagger sont entrées par le biais de commentaires dans le code PHP

Les directives de Swagger sont entrées par le biais de commentaires dans le code PHP

Heureusement, il existe des outils permettant de résoudre ça facilement et efficacement. Pour cela, j’ai utilisé Swagger. Cet outil permet de générer un fichier JSON des méthodes de l’API, automatiquement, en scannant les répertoires configurés. Evidemment, il faut quand même lui expliquer ce qu’il doit faire, et commenter les différentes fonctions. C’est quand même le but d’une documentation !

A partir de ce JSON (mis en cache si la fonction est activée), toutes l’interface de documentation est générée automatiquement. On peut alors tester les différentes méthodes. Bien entendu, on peut restreindre l’accès à l’API par une clé, mais pour ma part, il y a déjà une authentification obligatoires pour l’utilisation de chacune des méthodes.

Au final

En quelques heures, on se retrouve avec une belle interface et la route tracée pour terminer toutes les méthodes de l’API. Grâce à ces outils, on passe l’essentiel de son temps à réfléchir à la structure des données et du projet plutôt qu’à leur mise en oeuvre.

Elle est pas belle ma doc ?

Elle est pas belle ma doc ?