Вы можете использовать @ControllerAdvice
Обратитесь к приведенному ниже коду
@ControllerAdvice
public String NyExceptionHandlerAdvice {
private final Logger logger = ...;
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
@ExceptionHandler({MyRunTimeException.class})
public void handleMyRunTimeException(Exception e) {
logger.error("Exception : ", e);
}
return MY_ERROR_STRING;
}
Наилучшая практика: вы можете сделать так, чтобы ваш код генерировал исключения RunTimeExceptions и обрабатывал их все вместе или по отдельности в методах-обработчиках, подобных handleMyRunTimeException
выше.
Вы можете решить, какой код статуса должен вернуть ваш запрос при исключении.