====== Creer une API avec Symfony ====== On part du principe que [[prog:symfony:installer_symfony|Symfony est installé]] On [[prog:symfony:projets:create|créé un projet ]] ===== Le controlleur ===== ==== Nom de fichier / Nom de Class ==== Il FAUT que le nom de la Class (ici : ''class CheckVersionController'') soit identique au nom du fichier (ici : ''CheckVersionController.php'') Sinon :ERREUR ==== Les Routes en Annotations ==== On utilise les Routes en annotations : Il ne faut pas oublier la clause ''use Symfony\Component\Routing\Annotation\Route; '' Il sera peut etre utile d'executer ''composer require annotations'' ==== Swagger ==== Dans le cadre de la programmation d'API au format OpenAPI, il sera utile [[prog:theorie:api:swagger|d'installer Swagger-php]] qui permet de générer de la documentation conforme OpenAPI grâce a des [[prog:symfony:annotations|Annotations]] ==== OpenAPI en Annotations ==== On modifie le code de notre controlleur avec les lignes ci-dessous : Puis on lance la commande ''vendor\bin\openapi.bat --format json --output public\swagger\swagger.json swagger\swagger.php src'' pour mettre a jour le fichier de description au format OpenAPI ''public/swagger/swagger.json'' D:\webprojects\test-api-project>vendor\bin\openapi.bat --format json --output public\swagger\swagger.json swagger\swagger.php src ====== Ressources ====== * [[https://openclassrooms.com/fr/courses/4087036-construisez-une-api-rest-avec-symfony]]