Spring Boot : écrire le serveur (école d'ingénieur) · Chapitre 1 · Application directe du cours
Un paramètre obligatoire
Premiers pas avec Spring Boot · niveau 1 (application)
Énoncé
On écrit un second salut, GET /strict/bonjour, dont le paramètre @RequestParam String nom n'a pas de valeur par défaut. Que répond le serveur à une requête sans paramètre ? Que note-t-il dans son journal ?
Corrigé
@RestController
public class BonjourStrictController {
// Sans defaultValue, le paramètre nom est obligatoire.
@GetMapping("/strict/bonjour")
public String bonjour(@RequestParam String nom) {
return "Bonjour, " + nom + " !";
}
}
Sans paramètre, la méthode ne peut pas être appelée : Spring répond 400 Bad Request avant même de l'atteindre.
$ curl -i localhost:8080/strict/bonjour
HTTP/1.1 400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Fri, 02 Oct 2026 21:29:09 GMT
Connection: close
{"timestamp":"2026-10-02T21:29:09.916Z","status":400,"error":"Bad Request","path":"/strict/bonjour"}
Le journal explique pourquoi, au niveau WARN :
WARN [nio-8080-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'nom' for method parameter type String is not present]
Le client, lui, ne reçoit que le statut 400 : le message détaillé reste dans le journal du serveur. Un @RequestParam est obligatoire par défaut ; on le rend facultatif avec defaultValue ou required = false (le paramètre vaut alors null).
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.