Qu’est-ce que le client HTTP
Le client HTTP de Laravel est une API simple qui enveloppe Guzzle. Via la façadeHttp, envoyez facilement des requêtes vers des services web externes.
Guzzle est préinstallé — aucune configuration nécessaire.
Requêtes de base
GET
POST
Envoi enapplication/json par défaut.
PUT / PATCH / DELETE
Traiter la réponse
Http::get() retourne un Illuminate\Http\Client\Response.
Options de requête
En-têtes
acceptJson().
Pour les headers CSRF (
X-CSRF-TOKEN / X-XSRF-TOKEN) côté navigateur, voir Protection CSRF.Authentification
Bearer (le plus courant) :URL de base
Données de formulaire
application/x-www-form-urlencoded :
Timeout
Retry
Gestion des erreurs
Vérifier manuellement
Par défaut, aucune exception n’est levée sur 4xx/5xx. Vérifiez avecfailed(), clientError(), etc.
Lever une exception
throw() lance Illuminate\Http\Client\RequestException en cas d’erreur.
throw() retourne la réponse — chaînable :
Requêtes en parallèle
pool() exécute plusieurs requêtes en concurrence.
Tests
Http::fake() pour mocker
Sans envoyer de vraies requêtes.
Vérification des requêtes
Empêcher les requêtes non prévues
Exemple : service class pour une API externe
Bonne pratique : encapsuler la logique HTTP dans une service class.1
Créer la service class
2
Enregistrer dans le service provider
3
Utiliser dans un contrôleur
4
Écrire un test
Récapitulatif
Méthodes courantes
Méthodes courantes
Assertions de réponse
Assertions de réponse
Bonnes pratiques
Bonnes pratiques
- Encapsulez la logique HTTP dans des service classes
- Toujours définir un
timeout()et unconnectTimeout() - Configurez un
retry()pour les erreurs transitoires - En test,
Http::fake()obligatoire — ne jamais appeler l’API réelle - Ajoutez
Http::preventStrayRequests()dans le setup des tests - Gérez tokens et secrets via variables d’env +
config/services.php