2016-10-28 8 views
0

私は仕事をしないこのハンドラを持っています。 DBに重複値を挿入すると、DataIntegrityViolationExceptionに変換されるConstraintViolationExceptionが発生するはずです。なぜ@ControllerAdviceがDataIntegrityViolationExceptionを処理しないのですか?

これはハンドラである:、

org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "uk_1t68827l97cwyxo9r1u6t4p7d" 
    Detail: Key (name)=(Dev) already exists. 

ユーザーがDBに重複する値を挿入したときにそのため、サーバはBadRequestで応答する必要があります

@ControllerAdvice 
public class DatabaseExceptionHandler { 
    @ExceptionHandler(value = DataIntegrityViolationException.class) 
    @ResponseStatus(HttpStatus.BAD_REQUEST) 
    public void handleDuplicateDataException(DataIntegrityViolationException e) { 
    } 
} 

そして、これが私のコンソールからの例外ですなぜ私のハンドラーは動作しませんか?

答えて

0

@ControllerAdviceに加えて@EnableWebMvc注釈をハンドラに追加します。

関連する問題