https://jojoldu.tistory.com/129?category=635883 님의 Validation을 통한 유효성을 체크하는 글을 따라해보다 뭔가 느낌이 뽝 와서 적어봅니다.


일단 최조 Valid(여기서는 MemberRequestDto에 validation을 작성.)를 통해 걸러지게(?) 되면 



다음과 같은 에러를 보게 된다.


Valid를 통해서 에러를 내리는 법도 있지만, 중복 검사와 같이 어떤 작업을 거치고 에러를 내리는 것은 불가능하기 때문에 Exception을 만들고 내려야한다. 그러기 위해서는 새로운 Exception을 만들어보자.


내가 원하는 그림은 위와 같이 이메일을 중복 검사하여 중복이 되면 해당 에러를 valid에서 내린 에러와 같이 내리되 필요한 default message와 field 부분만 따로 Error클래스로 만들어 내리는 것이다.

 

코드를 보면 클래스위에 어노테이션에 해당 예외 클래스는 어떤 상태를 내릴 것인지 결정을 하고, RuntimeException을 상속받아 원하는 부분을 작성하기 시작하면 된다. 



Exception을 만들었다면 기존의 에러를 내릴 때 사용하는 클래스에 새로 만든 Exception의 에러를 추가해준 후 내려야 한다. 빈을 등록해보자


 

이렇게 기존에 getErrorAttributes에 현재 내리는 Exception종류가 ValidCustomException일 때 속성을 추가해주고 필요할 때 예외를 던지면 된다.







+ Recent posts