Разница между аннотациями @ControllerAdvice и @RestControllerAdvice заключается в их функциональности. 13
Аннотация @ControllerAdvice позволяет пометить класс так, чтобы он стал стандартным для всех контроллеров. 1 Аннотацией можно указать, к каким пакетам, классам или типам она применяется. 1 По умолчанию методы, определённые в аннотации @ControllerAdvice, относятся ко всем контроллерам. 3
Аннотация @RestControllerAdvice — это комбинация аннотаций @ControllerAdvice и @ResponseBody. 15 Она автоматически добавляет аннотацию @ResponseBody ко всем методам, помеченным аннотацией @ExceptionHandler. 1 Аннотация @ResponseBody указывает, что в результате обработки ошибки отправляется тело ответа. 1
Таким образом, основное отличие в том, что @RestControllerAdvice ориентирована на обработку ошибок в контексте REST API, а @ControllerAdvice — более широкая аннотация, которая позволяет решать разные задачи, связанные с обработкой исключений. 12