Obsługa wyjątków
Obsługa wyjątków za pomocą @ControllerAdvice, @ExceptionHandler, @ResponseStatus, standaryzacja błędów
1Czym jest @ControllerAdvice w Spring MVC?
Czym jest @ControllerAdvice w Spring MVC?
Odpowiedź
@ControllerAdvice pozwala scentralizować obsługę wyjątków dla wszystkich kontrolerów aplikacji. Ta adnotacja tworzy globalny komponent, który przechwytuje wyjątki rzucane przez dowolny @Controller lub @RestController. Pozwala to uniknąć duplikowania logiki obsługi błędów w każdym kontrolerze i sprzyja spójności odpowiedzi błędów.
2Jak obsłużyć określony wyjątek w kontrolerze?
Jak obsłużyć określony wyjątek w kontrolerze?
Odpowiedź
@ExceptionHandler pozwala zdefiniować metodę obsługującą jeden lub więcej określonych wyjątków w kontrolerze lub @ControllerAdvice. Metoda z adnotacją jest automatycznie wywoływana, gdy zostanie rzucony określony wyjątek. Można zwrócić ResponseEntity, aby kontrolować status HTTP i treść odpowiedzi.
3Do czego służy @ResponseStatus na klasie wyjątku?
Do czego służy @ResponseStatus na klasie wyjątku?
Odpowiedź
@ResponseStatus na niestandardowym wyjątku pozwala automatycznie zmapować ten wyjątek na określony kod statusu HTTP. Gdy wyjątek zostaje rzucony, Spring automatycznie zwraca wskazany status HTTP bez konieczności użycia @ExceptionHandler. To podejście upraszcza kod dla prostych wyjątków, które bezpośrednio odpowiadają statusowi HTTP.
Jaki wyjątek jest rzucany, gdy walidacja z @Valid się nie powiedzie?
Czym jest ProblemDetail w Spring 6+?
+22 pytań z rozmów
Inne tematy rekrutacyjne Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logowanie z SLF4J i Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Bean Validation
Podstawy Spring Data JPA
Encje JPA i relacje
Zapytania JPA
Spring Data Repositories
Podstawy Spring Security
Spring Boot Actuator
Testy jednostkowe z JUnit i Mockito
Testowanie Spring Boot
Profiles i Environment
RestTemplate i WebClient
Async i Scheduling
Caching ze Spring
Spring WebFlux (Reactive)
Transakcje Spring
Zaawansowane uwierzytelnianie i autoryzacja
JWT i bezpieczeństwo stateless
OAuth2 i Authorization Server
Spring Boot i Docker
Microservices ze Spring
Spring Cloud Config
Optymalizacja wydajności
GraalVM Native Images
Opanuj Spring Boot na następną rozmowę
Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.
Zacznij za darmo