2주정도 개발한 내용에 대해 정리해보려고 한다.
API명세서를 작성한 이후에 REST - API
에 대해 공부를 하면서 조금씩 API 명세서를 수정했다.
정리가 되게 잘 되어있으니 보시는 걸 강력 추천드립니다!
(제가 정리했습니다. ㅎㅎ)
Rest - Api
로그인, 회원가입, 글 CRUD, 프로필 CRUD에 대한 내용을 담았다.
(댓글, 대댓글도 개발을 시작해야지...)
처음에 컨트롤러 단에서 무식하게 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
를 이용하면 컨트롤러에서 발생하는 예외를 공통적으로 처리할 수 있다는 내용을 봤다. (적용해보자)
Session
으로 관리했는데 JWT
토큰을 이용해서 관리 해보기SpringSecurity
를 공부해서 적용해보기ExceptionHandler
로 인한 중복된 코드를 ControllerAdvise
를 이용해 줄이기역시 직접 개발을 해보고 Exception
을 직접 마주하는 것이 재밌다.
첫 프로젝트인 만큼 애정이 많이 가는건 어쩔 수 없는 것 같다.
프론트가 없어서 아쉽지만 어떡하겠나. No-Css
클럽에 가입하는 수 밖에...