Gestion des exceptions
Gestion des exceptions avec @ControllerAdvice, @ExceptionHandler, @ResponseStatus, standardisation des erreurs
1Qu'est-ce que @ControllerAdvice dans Spring MVC ?
Qu'est-ce que @ControllerAdvice dans Spring MVC ?
Réponse
@ControllerAdvice permet de centraliser la gestion des exceptions pour tous les contrôleurs de l'application. Cette annotation crée un composant global qui intercepte les exceptions lancées par n'importe quel @Controller ou @RestController. Cela évite de dupliquer la logique de gestion d'erreur dans chaque contrôleur et favorise la cohérence des réponses d'erreur.
2Comment gérer une exception spécifique dans un contrôleur ?
Comment gérer une exception spécifique dans un contrôleur ?
Réponse
@ExceptionHandler permet de définir une méthode qui gère une ou plusieurs exceptions spécifiques dans un contrôleur ou un @ControllerAdvice. La méthode annotée sera invoquée automatiquement lorsque l'exception spécifiée est lancée. Il est possible de retourner un ResponseEntity pour contrôler le statut HTTP et le corps de la réponse.
3À quoi sert @ResponseStatus sur une classe d'exception ?
À quoi sert @ResponseStatus sur une classe d'exception ?
Réponse
@ResponseStatus sur une exception personnalisée permet de mapper automatiquement cette exception à un code HTTP spécifique. Lorsque l'exception est lancée, Spring retourne automatiquement le statut HTTP indiqué sans nécessiter de @ExceptionHandler. Cette approche simplifie le code pour les exceptions simples qui correspondent directement à un statut HTTP.
Quelle exception est lancée lors de l'échec de validation avec @Valid ?
Qu'est-ce que ProblemDetail dans Spring 6+ ?
+22 questions d'entretien
Autres sujets d'entretien Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging avec SLF4J et Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Validation avec Bean Validation
Spring Data JPA - Les bases
Entités JPA et relations
Requêtes JPA
Spring Data Repositories
Spring Security - Les bases
Spring Boot Actuator
Tests unitaires avec JUnit et Mockito
Tests Spring Boot
Profiles et Environment
RestTemplate et WebClient
Async et Scheduling
Caching avec Spring
Spring WebFlux (Reactive)
Transactions Spring
Authentification et autorisation avancées
JWT et sécurité stateless
OAuth2 et Authorization Server
Spring Boot et Docker
Microservices avec Spring
Spring Cloud Config
Optimisation des performances
GraalVM Native Images
Maîtrise Spring Boot pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement