Ceci est une ancienne révision du document !


Creer une API avec Symfony

On part du principe que Symfony est installé

On créé un projet

Le controlleur

CheckVersionController.php
<?php
namespace App\Controller;
 
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
 
class CheckVersionController
{
     /**
      * @Route("/api/checkv")
      */
    public function check()
    {
        return new Response('Ok ça marche...');
    }
}

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

<?php
...
use Symfony\Component\Routing\Annotation\Route;
 
class CheckVersionController
{
     /**
      * Ci dessous la route http://xxxxx/api/checkv exécutera la function check()
      * @Route("/api/checkv")
      */
    public function check()
    {...}
}

Swagger

Dans le cadre de la programmation d'API au format OpenAPI, il sera utile d'installer Swagger-php qui permet de générer de la documentation conforme OpenAPI grâce a des Annotations

Ressources

Vous pourriez laisser un commentaire si vous étiez connecté.