0

我正在制作一个附加了 MySQL 数据库的 Spring Boot 应用程序。

我已经在用户表中将用户标记为唯一,当我尝试使用现有用户名添加新用户时,数据库会抛出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;
    }

但它不起作用。

4

0 回答 0