Spring Boot : écrire le serveur (école d'ingénieur) · Chapitre 1 · Application directe du cours
Le contrôleur introuvable
Premiers pas avec Spring Boot · niveau 2
Énoncé
Dans le projet code/ch1/erreurs/controleur-oublie, la classe principale est dans le paquet fr.librairie et un contrôleur PingController, qui répond pong sur /ping, dans le paquet fr.autre. L'application démarre sans erreur. Que répond GET /ping ? Pourquoi ? Proposer une correction.
Corrigé
$ curl -i localhost:8080/ping
HTTP/1.1 404
Content-Type: application/json
Transfer-Encoding: chunked
Date: Fri, 02 Oct 2026 21:29:13 GMT
{"timestamp":"2026-10-02T21:29:13.055Z","status":404,"error":"Not Found","path":"/ping"}
Le contrôleur n'a jamais été créé : @SpringBootApplication ne parcourt que fr.librairie et ses sous-paquets, et fr.autre n'en fait pas partie. Spring ne connaît donc aucune méthode pour /ping et répond 404, sans le moindre avertissement au démarrage : c'est ce silence qui rend l'erreur déroutante. La correction est de déplacer PingController sous la classe principale, par exemple dans fr.librairie.ping. On pourrait aussi élargir le parcours (@SpringBootApplication(scanBasePackages = "fr")), mais il est plus simple de respecter la convention.
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.