Cours 37 — Consommer une API
Introduction
Consommer une API consiste à interroger un service externe afin de récupérer des données.
Symfony fournit un composant HTTP Client pour effectuer ces requêtes.
Installer le composant
1
| composer require symfony/http-client
|
Injection du client HTTP
1
| use Symfony\Contracts\HttpClient\HttpClientInterface;
|
Exemple simple
1
2
3
4
5
| public function index(
HttpClientInterface $httpClient
): Response
{
}
|
Symfony fournit automatiquement le client HTTP.
Envoyer une requête GET
1
2
3
4
| $response = $httpClient->request(
'GET',
'https://api.exemple.com/patients'
);
|
Lire la réponse
1
| $donnees = $response->toArray();
|
Exemple complet
1
2
3
4
5
6
| $response = $httpClient->request(
'GET',
'https://api.exemple.com/patients'
);
$donnees = $response->toArray();
|
Accéder aux données
1
| $nom = $donnees['nom'];
|
Envoyer des données
1
2
3
4
5
6
7
8
9
| $response = $httpClient->request(
'POST',
'https://api.exemple.com/patients',
[
'json' => [
'nom' => 'Durand'
]
]
);
|
Comprendre le processus
1
2
3
4
5
6
7
8
9
| Symfony
↓
Requête HTTP
↓
API distante
↓
Réponse JSON
↓
Traitement
|
Utilisation fréquente
1
2
3
4
| Météo
Paiement
Cartographie
Services externes
|
Conclusion
Consommer une API permet d’utiliser des services externes.
Éléments à retenir :
1
2
3
4
5
| HttpClientInterface
request()
toArray()
|