블로그 개발 중간 정산

HotFried·2024년 4월 10일
0

2주정도 개발한 내용에 대해 정리해보려고 한다.

개발 내용

API 명세서

API명세서를 작성한 이후에 REST - API에 대해 공부를 하면서 조금씩 API 명세서를 수정했다.

정리가 되게 잘 되어있으니 보시는 걸 강력 추천드립니다!
(제가 정리했습니다. ㅎㅎ)
Rest - Api


로그인, 회원가입, 글 CRUD, 프로필 CRUD에 대한 내용을 담았다.
(댓글, 대댓글도 개발을 시작해야지...)

API 명세서


ExceptionHandler

처음에 컨트롤러 단에서 무식하게 try-catch를 이용해 예외 처리를 하니 컨트롤러 내의 메소드마다 중복된 코드가 너무 많았다.

따라서, 컨트롤러마다 중복된 코드를 줄이기 위해 ExceptionHandler를 이용했다.

    @ExceptionHandler(ForbiddenUserException.class)
    @ResponseBody
    public ResponseEntity<ProfileDto.ModifyProfileResponse> handleForbiddenUserException(ForbiddenUserException ex) {
        return ResponseEntity.status(HttpStatus.FORBIDDEN)
                .body(ProfileDto.ModifyProfileResponse.failure(ex.getMessage()));
    }

하지만 막상 코드를 작성하고 보니 컨트롤러마다 똑같은 Exception을 처리하고 있으니 중복된 코드가 계속 존재하는 것이었다.


구글링을 하다보니 ControllerAdvice를 이용하면 컨트롤러에서 발생하는 예외를 공통적으로 처리할 수 있다는 내용을 봤다. (적용해보자)

Tecoble : ExceptionHandler와 ContollerAdvice를 알아보자


앞으로 공부할 내용

  1. 로그인을 Session으로 관리했는데 JWT 토큰을 이용해서 관리 해보기
  2. 비밀번호를 DB에 그대로 저장했는데 SpringSecurity를 공부해서 적용해보기
  3. 댓글 대댓글 구현하기
  4. ExceptionHandler로 인한 중복된 코드를 ControllerAdvise를 이용해 줄이기

마치며

역시 직접 개발을 해보고 Exception을 직접 마주하는 것이 재밌다.
첫 프로젝트인 만큼 애정이 많이 가는건 어쩔 수 없는 것 같다.
프론트가 없어서 아쉽지만 어떡하겠나. No-Css 클럽에 가입하는 수 밖에...

profile
꾸준하게

0개의 댓글