Gestione delle eccezioni
Gestione delle eccezioni con @ControllerAdvice, @ExceptionHandler, @ResponseStatus, standardizzazione degli errori
1Cos'è @ControllerAdvice in Spring MVC?
Cos'è @ControllerAdvice in Spring MVC?
Risposta
@ControllerAdvice consente di centralizzare la gestione delle eccezioni per tutti i controller dell'applicazione. Questa annotazione crea un componente globale che intercetta le eccezioni lanciate da qualsiasi @Controller o @RestController. Questo evita di duplicare la logica di gestione degli errori in ogni controller e favorisce la coerenza delle risposte di errore.
2Come gestire un'eccezione specifica in un controller?
Come gestire un'eccezione specifica in un controller?
Risposta
@ExceptionHandler consente di definire un metodo che gestisce una o più eccezioni specifiche in un controller o in un @ControllerAdvice. Il metodo annotato viene invocato automaticamente quando viene lanciata l'eccezione specificata. È possibile restituire un ResponseEntity per controllare lo stato HTTP e il corpo della risposta.
3A cosa serve @ResponseStatus su una classe di eccezione?
A cosa serve @ResponseStatus su una classe di eccezione?
Risposta
@ResponseStatus su un'eccezione personalizzata consente di mappare automaticamente questa eccezione a uno specifico codice di stato HTTP. Quando l'eccezione viene lanciata, Spring restituisce automaticamente lo stato HTTP indicato senza richiedere un @ExceptionHandler. Questo approccio semplifica il codice per eccezioni semplici che corrispondono direttamente a uno stato HTTP.
Quale eccezione viene lanciata quando la validazione con @Valid fallisce?
Cos'è ProblemDetail in Spring 6+?
+22 domande da colloquio
Altri argomenti di colloquio Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging con SLF4J e Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Bean Validation
Fondamenti di Spring Data JPA
Entità JPA e relazioni
Query JPA
Spring Data Repositories
Fondamenti di Spring Security
Spring Boot Actuator
Test unitari con JUnit e Mockito
Testing in Spring Boot
Profiles e Environment
RestTemplate e WebClient
Async e Scheduling
Caching con Spring
Spring WebFlux (Reactive)
Transazioni Spring
Autenticazione e autorizzazione avanzate
JWT e sicurezza stateless
OAuth2 e Authorization Server
Spring Boot e Docker
Microservices con Spring
Spring Cloud Config
Ottimizzazione delle prestazioni
GraalVM Native Images
Padroneggia Spring Boot per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis