Post

Symfony - Créer une API REST

Symfony - Créer une API REST

Cours 36 — Créer une API REST

Introduction

Une API REST permet à une application externe de communiquer avec Symfony.

Les échanges se font généralement au format JSON.


Créer une route API

1
#[Route('/api/patient')]

Cette URL sera utilisée par un programme externe.


Exemple simple

1
2
3
4
5
6
7
#[Route('/api/test')]
public function test(): Response
{
    return $this->json([
        'message' => 'API opérationnelle'
    ]);
}

Résultat

1
2
3
{
    "message": "API opérationnelle"
}

Recevoir des données JSON

1
2
3
4
$donnees = json_decode(
    $request->getContent(),
    true
);

Exemple

JSON reçu :

1
2
3
4
{
    "nom": "Durand",
    "prenom": "Paul"
}

Lire les données

1
2
3
$nom = $donnees['nom'];

$prenom = $donnees['prenom'];

Retourner une réponse

1
2
3
return $this->json([
    'message' => 'Patient enregistré'
]);

Exemple complet

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#[Route('/api/patient')]
public function patient(
    Request $request
): Response
{
    $donnees = json_decode(
        $request->getContent(),
        true
    );

    return $this->json([
        'nom' => $donnees['nom']
    ]);
}

Utilisation fréquente

1
2
3
Application Android
Application Python
Application JavaScript

Comprendre le processus

1
2
3
4
5
6
7
8
9
10
11
Application
↓
JSON
↓
Symfony
↓
Traitement
↓
JSON
↓
Réponse

Conclusion

Une API REST permet d’échanger des données avec Symfony.

Éléments à retenir :

1
2
3
4
5
json_decode()

$request->getContent()

$this->json()
This post is licensed under CC BY 4.0 by the author.