Я делаю приложение Spring Boot с подключенной к нему базой данных MySQL.
Я уже пометил username как уникальный в пользовательской таблице, и БД выдает MySQLIntegrityConstraintViolationException когда я пытаюсь добавить нового пользователя с существующим именем пользователя.
Есть ли способ заставить ControllerAdvice обрабатывать это исключение? Я попытался сделать обработчик так:
@ExceptionHandler(MySQLIntegrityConstraintViolationException.class)
@ResponseStatus(HttpStatus.CONFLICT)
@ResponseBody
public MyBadInputResponse databaseIntegrityViolationDuplicate(MySQLIntegrityConstraintViolationException ex) {
MyBadInputResponse bir = new MyBadInputResponse("The request value already exists in the database",
ex.getLocalizedMessage());
logger.error(bir.toString());
return bir;
}
Но он не работает.