Обробка винятків
Обробка винятків за допомогою @ControllerAdvice, @ExceptionHandler, @ResponseStatus, стандартизація помилок
1Що таке @ControllerAdvice у Spring MVC?
Що таке @ControllerAdvice у Spring MVC?
Відповідь
@ControllerAdvice дозволяє централізувати обробку винятків для всіх контролерів застосунку. Ця анотація створює глобальний компонент, який перехоплює винятки, кинуті будь-яким @Controller або @RestController. Це дозволяє уникнути дублювання логіки обробки помилок у кожному контролері та сприяє узгодженості відповідей про помилки.
2Як обробити певний виняток у контролері?
Як обробити певний виняток у контролері?
Відповідь
@ExceptionHandler дозволяє визначити метод, який обробляє один або кілька певних винятків у контролері або @ControllerAdvice. Анотований метод викликається автоматично, коли кидається вказаний виняток. Можна повернути ResponseEntity, щоб контролювати HTTP-статус і тіло відповіді.
3Для чого призначений @ResponseStatus на класі винятку?
Для чого призначений @ResponseStatus на класі винятку?
Відповідь
@ResponseStatus на користувацькому винятку дозволяє автоматично зіставити цей виняток із певним кодом HTTP-статусу. Коли виняток кидається, Spring автоматично повертає вказаний HTTP-статус без потреби в @ExceptionHandler. Цей підхід спрощує код для простих винятків, які безпосередньо відповідають HTTP-статусу.
Який виняток кидається, коли валідація з @Valid не вдається?
Що таке ProblemDetail у Spring 6+?
+22 питань зі співбесід
Інші теми співбесід Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Логування за допомогою SLF4J та Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Bean Validation
Основи Spring Data JPA
Сутності JPA та зв'язки
Запити JPA
Spring Data Repositories
Основи Spring Security
Spring Boot Actuator
Модульне тестування з JUnit та Mockito
Тестування Spring Boot
Profiles та Environment
RestTemplate і WebClient
Async і Scheduling
Кешування зі Spring
Spring WebFlux (Reactive)
Транзакції Spring
Розширена автентифікація та авторизація
JWT та stateless-безпека
OAuth2 та Authorization Server
Spring Boot і Docker
Microservices зі Spring
Spring Cloud Config
Оптимізація продуктивності
GraalVM Native Images
Опануй Spring Boot для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно