Closed Ryooon2 closed 1 year ago
JWT & Security
예외처리
응답 DTO
JWT를 이용한 인증과정은 다음과 같습니다.
Exception: ErrorCode는 CustomException에서 근거로 사용될 수 있도록 작성한 Enum입니다.
CustomException은 어플리케이션 실행 도중, 의도치 않은 상황을 방지하기 위해 커스텀한 Exception으로, ErrorCode를 내부 필드로 갖습니다.
CustomExceptionHandler는 controller의 로직이 실행될때 발생하는 CustomException을 캐치하여, 해당 Exception을 토대로 ApplicationErrorResponse를 생성하고 반환하도록 의도하였습니다.
DTO: ApplicationResponse는 어플리케이션이 정상적으로 응답할때 사용하도록 의도한 제네릭 클래스입니다.
ApplicationErrorResponse는 어플리케이션이 비정상적으로 응답할때 사용하도록 의도한 오류 정보를 내포한 클래스입니다.
ErrorCode는 내부 필드로 HttpStatus, 오류 상황을 나타내는 message, 개발자가 임의로 지정하는 code를 갖습니다.
ApplicationResponse는 위 사진과 같이 ok(ErrorCode errorCode, T object) 메서드를 통해 생성할 수 있습니다. 또한, 내부 필드, object가 실제로 보내고 싶은 객체가 담기는 필드입니다.
PR Summary
JWT & Security
예외처리
응답 DTO
PR Detail Description
JWT를 이용한 인증과정은 다음과 같습니다.
Exception: ErrorCode는 CustomException에서 근거로 사용될 수 있도록 작성한 Enum입니다.
CustomException은 어플리케이션 실행 도중, 의도치 않은 상황을 방지하기 위해 커스텀한 Exception으로, ErrorCode를 내부 필드로 갖습니다.
CustomExceptionHandler는 controller의 로직이 실행될때 발생하는 CustomException을 캐치하여, 해당 Exception을 토대로 ApplicationErrorResponse를 생성하고 반환하도록 의도하였습니다.
DTO: ApplicationResponse는 어플리케이션이 정상적으로 응답할때 사용하도록 의도한 제네릭 클래스입니다.
ApplicationErrorResponse는 어플리케이션이 비정상적으로 응답할때 사용하도록 의도한 오류 정보를 내포한 클래스입니다.
Screenshots (Optional)
ErrorCode는 내부 필드로 HttpStatus, 오류 상황을 나타내는 message, 개발자가 임의로 지정하는 code를 갖습니다.
ApplicationResponse는 위 사진과 같이 ok(ErrorCode errorCode, T object) 메서드를 통해 생성할 수 있습니다. 또한, 내부 필드, object가 실제로 보내고 싶은 객체가 담기는 필드입니다.