Назад к вопросам
Simbirsoft
Junior — Middle
70
Могли бы вы объяснить назначение и использование аннотации @ControllerAdvice в Spring?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Аннотация @ControllerAdvice в Spring используется для глобальной обработки исключений, настройки данных модели и перехвата запросов во всех контроллерах приложения. Это позволяет централизованно обрабатывать ошибки и применять общие настройки, не дублируя код в каждом контроллере.
Например, с помощью @ControllerAdvice можно определить метод, который будет обрабатывать исключения типа Exception во всех контроллерах:
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
public ResponseEntity<String> handleAllExceptions(Exception ex) {
return new ResponseEntity<>("Произошла ошибка: " + ex.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
}
}
Таким образом, при возникновении исключения в любом контроллере, этот метод будет вызван автоматически, обеспечивая единообразную обработку ошибок.