27601 shaares
Depuis Symfony 8.2, une ValidationFailedException non interceptée produit directement une réponse HTTP 422 structurée. L’article distingue les erreurs 400 (requête illisible), 415 (format non pris en charge), 422 (données invalides) et 409 (conflit). Il recommande le format Problem Details (RFC 9457), des chemins de champs et codes d’erreur stables pour les clients, ainsi qu’une gestion cohérente des violations d’unicité Doctrine. Enfin, il conseille de limiter le bruit des logs, surveiller les pics de 422 et tester le contrat de réponse plutôt que les messages traduits.