Adloun

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

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →