실전 프로젝트가 시작한 지 2주가 지났다.. 뭔가 시간이 빠르면서도 빠른 것 같지 않은 그런 느낌..
27일 런칭이기 때문에 부지런히 해야할 것 같다.
이번 주도 많은 일들이 있었다. 임팩트 있던 기억들에 대해 회고 해보려 한다.
정적 팩토리 메서드를 통해 객체를 생성하게 되면, 생성자에 있느 멤버 변수를 전부 세팅해주어야 한다.
예를 들면, 파라미터로 받지 않는 멤버 변수는 null로 세팅해주어야 한다던가.. 등
이런 식으로 코드를 짜게 되면, 가독성이 떨어지고 파라미터의 순서를 기억해야 한다는 단점이 존재한다. 이러한 방식을 해결하기 위해 Builder를 private
하게 적용했다.
생성자에 @Builder 어노테이션을 달아주었고, 프로퍼티로 private 하게 설정해주었다.
위와 같이 빌더로 정적 팩토리 메서드를 구현하게 되면, 가독성도 좋아지고 정적 팩토리 메서드로만 생성자를 초기화 해줄 때 작성하는 null 을 따로 적어주지 않아도 된다.
실전 프로젝트 주차가 아닌 주차 때도 스웨거를 직접 적용하곤 했었다. 하지만, 그때는 2.9.2 버전을 사용했고 이번엔 3.0.0 버전을 사용하게 됐다.
JWT 전역 설정도 할 수 있도로 추가해주었고, 현재 만들어진 API에 한 해, 아래의 사진처럼 적용해두었다.
근데 문제는 아래 사진이다.
분명 스키마를 다 등록해주었는데, UI에 나타나는 녀석들은 왜 6개뿐,,? 이거에 대해 조사를 좀 해봐야겠다.
그리고 멘토님께 스웨거 관련해서 질문을 드렸었다. 질문은 API 하나를 짤 때마다 스웨거를 적용해주어야 하는 지 아니면, 모든 API를 완성하고 스웨거를 적용하나에 대해 여쭤보았다.
답변은 전자였다. API를 짠 뒤, 스웨거로 문서화시키는 것까지가 API를 구현하는 것이라고 말씀해주셨다. 여태 모든 API가 완성됐을 시, 스웨거를 적용하곤 했는데 앞으로는 멘토님의 답변에 따라 API 하나를 완성할 때마다 적용해야겠다는 생각이 들었다.
서비스 로직을 작성하기 시작하니까 왠지 모르게 서비스 로직 구현하는 것이 재밌다는 생각도 든다..
점점 미쳐가는 중...
얼른 마무리해서 취직하고 싶다..!