Qu’est-ce qu’une réponse
Un contrôleur ou une route doit renvoyer une réponse au navigateur. Laravel propose des mécanismes simples pour retourner divers formats : chaîne, tableau, vue, redirection, JSON, etc.Réponses de base
Retourner une chaîne
La réponse la plus simple est une chaîne. Laravel la convertit automatiquement en réponse HTTP appropriée.Retourner un tableau
Un tableau retourné est automatiquement converti en JSON.Retourner directement un modèle ou une collection Eloquent produit également une conversion automatique en JSON. Un pattern très utilisé pour créer rapidement des API.
Retourner un modèle Eloquent
L’objet Response
Le helperresponse() permet de retourner une réponse détaillée avec code HTTP et en-têtes personnalisés.
Codes HTTP courants
Réponse de vue
Pour afficher un template Blade depuis un contrôleur, utilisezview().
C’est la réponse la plus courante dans une application web.
Contrôler les détails avec response()->view()
Pour spécifier aussi le code HTTP et les en-têtes, utilisez response()->view().
Redirections
Redirection de base
Le helperredirect() retourne une réponse de redirection.
Souvent utilisé après l’envoi d’un formulaire.
Redirection vers une route nommée
route() évite d’écrire l’URL directement.
Pour ne pas devoir modifier le code si l’URL change, préférez les routes nommées.
Retour à la page précédente
back() renvoie vers la page précédente.
Souvent utilisé lors d’un échec de validation.
Redirection avec message flash
with() ajoute un message en session lors de la redirection.
Idéal pour confirmer un envoi de formulaire.
Réponses JSON
Pour une API, retournez du JSON avecresponse()->json().
L’en-tête Content-Type: application/json est ajouté automatiquement.
Retourner simplement un tableau ou un modèle Eloquent produit du JSON, mais
response()->json() offre un contrôle fin sur code HTTP et en-têtes.En-têtes de réponse
header() ajoute un en-tête HTTP.
withHeaders() pour en ajouter plusieurs.
Exemple : quelle réponse choisir dans un contrôleur
Exemple récapitulatif adaptant la réponse à l’usage.1
Définition des routes
2
Implémentation du contrôleur
Prochaines étapes
Validation
Vérifiez les données d’entrée avec la validation avant de retourner une réponse.