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()
|