진행한 프로젝트에 swagger를 추가하고, 커스텀 익셉션을 추가했다.
커스텀 익셉션을 만들면서 익센션 클래스가 너무 많아지는 것에 대해 고민했는데, 생각해보니 특정 익센션에 대한 커스텀 익셉션이 아니라 IllegalArgumentException을 띄웠을때 상황에 따라 다른 메세지가 나오게 하고 싶었기에 그만큼 클래스가 생길수 밖에 없었다.
물론 프로젝트를 진행하다 무슨 익셉션이 뜨는지 알아보기 번거로워 IllegalArgumentException을 너무 남발한 감이 있긴하다. 이는 리팩토링이 필요한 부분이라고 생각한다.
그리고 인증/인가 분리도 진행했다.
기존에는 계정이 관리자 계정인지 서비스에서 검증해서 관리자 계정인경우, 글을 쓴 계정이 아니더라도 수정하거나 삭제 하게 했는데, 아예 컨트롤러에서 url을 나눠 관리자 접속url과 일반 유저 url로 나눈 후, 관리자 토큰인지 검사하고 관리자 토큰이 아닐경우 url이 작동하지 않게 만들었다.
ERE도 잘못 그린것 같아 다시 그려보았다.
User와 Post,Comment는 1:0이나 1:1, 1:N 관계가 가능한데, 그동안 새발 표기법이 1:1,1:N으로만 가능하다고만 되어있어 바꾸어 주었다.
다음주에는 시큐리티를 배운다.
그동안 진행했던 프로젝트와 어떤점이 다른지 비교하면서 공부해보아야 할 것 같다.