Spring Boot : écrire le serveur (école d'ingénieur) · Chapitre 4 · Application directe du cours
Lire une réponse 400
Validation et gestion des erreurs · niveau 1 (application)
Énoncé
L'application Vue a envoyé la commande suivante.
{ "lignes": [], "nom": " ", "courriel": "ada", "retrait": "drone" }
Écrire la réponse reçue, puis indiquer, pour chaque message, la contrainte qui l'a produit. Pourquoi le message sur les lignes vient-il en premier ?
Corrigé
$ curl -s -X POST localhost:8000/api/commandes \
-H 'Content-Type: application/json' -d '{"lignes":[],"nom":" ","courriel":"ada","retrait":"drone"}'
{"detail":"La requête contient 4 erreur(s).","instance":"/api/commandes","status":400,"title":"Requête invalide","erreurs":["La commande ne contient aucun livre.","Le nom est obligatoire.","L’adresse électronique est invalide.","Le mode de retrait est invalide."]}
- « La commande ne contient aucun livre. » :
@NotEmptysurlignes; - « Le nom est obligatoire. » :
@NotBlanksurnom, un espace seul n'étant pas un nom ; - « L'adresse électronique est invalide. » :
@Patternsurcourriel, faute de @ ; - « Le mode de retrait est invalide. » :
@Patternsurretrait.
Les messages suivent l'ordre des composants du record, où lignes vient en premier : c'est le tri de handleMethodArgumentNotValid. Le service n'a pas été appelé : la validation a échoué avant.
100 % gratuit
La suite du chapitre est sur Adloun
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.