코드 리팩토링 전 아래 코드는 회원가입시 email 중복 체크를 하는 서비스 기능이다. email 파라미터로 member 객체를 가져오지 못하면 "사용 가능한 이메일 입니다." 메시지와 success 필드에 true를 넣어서 프론트에서 분기 처리를 하였다. 만약 member 객체를 가져오면 "이미 사용중인 이메일 입니다." 라는 메시지와 success 필드에는 false를 넣어 응답한다. 위 코드가 지저분한 이유는 try catch 로 인한 에러 처리와 emailCheckResponse를 3군데서 build() 하기 때문이다. try catch를 서비스 에서 사용하지 않으려면 GlobalException을 사용해야 한다. GlobalException은 @ExceptionHandler와 @Controlle..