오늘은 프로젝트 3일차!
기존 프로젝트에서 엔티티와 기능들을 덜어냈다
프로젝트가 축소되어서 나름 잘 해낼수 있을줄 알았는데.. 쉽지 않다..
오늘은 게시글 생성 API, 글 내용 획득 API, 글 목록 획득 API를 구현했다.
아직 스프링 시큐리티와 JWT를 구현하지 못해 회원정보를 활용하지 못해 완벽히 구현된 것은 아니지만 어느 정도 해내서 뿌듯.. 하지만, 걱정이 앞서요ㅜ
그리고 오늘은 팀원분들이 맡은 기능들을 돕는데에 시간과 에너지를 많이 썼다.
잘해서 팀원분들 돕고 싶은데 능력이 미치지 못해ㅜ
아 그리고, 에러가 발생하는 부분을 블로그에 정리해봤다.
이렇게 정리해두면 나중에 참고할 수 있으니까 좋을 듯 하다
https://velog.io/@kwg527/Spring-JPA-JSON%EC%9C%BC%EB%A1%9C-%EB%B3%80%ED%99%98%ED%95%B4%EC%84%9C-%EB%B0%98%ED%99%98%ED%95%98%EA%B8%B0
마지막으로, 튜터님이 해주신 말씀들을 그냥 적어본다
연관관계 메소드는 service에서 사용한다
흐름을 생각해서 개발하면, 연관관계 메소드를 활용할 때가 떠오를 것
service에서 값들을 전부 가공하는거니까 일단 해보세요
dto를 왜 쓰냐면, entity처럼 안쓰려고 하는 거다
일단 값을 dto로 받아오고 service에서 가공하면 된다
빌더를 클래스에 붙이면 초기화를 안해준다
빌더를 생성자에 붙여서 쓰는 것을 권장한다.
지금 상태로 하고 싶으면 List부분에 @Builder.Default를 붙여줘라 (초기화위해)
Setter를 사용하면 목적성이 안보인다
코드로 봤을 때 무슨 목적으로 작성했는지가 보이지 않음
ex) 프로필 변경
-> setAge, setProfileImage (x)
-> changeProfile() (o)
연관관계 메소드를 통해 양방향으로 매핑된 값들이 세팅된다.
빌더로 넣어줄 필요 없다 (외래키)
코드를 작성할 떄는 논리적 흐름으로 생각하고 작성해야 한다.
흐름을 파악하고 캐치하는게 중요하다. 그래야 코드를 작성할 수 있다.
기능 구현을 제대로 하지 못한 것이 아쉽다. 게시글 관련 API를 다 끝내고 싶었는데ㅜ
게시글이 끝나면, 회원 API를 해봐야 할 것 같다.
스프링 시큐리티, JWT등도 해야 하고, 당장 페이지도 만들어야 하는데...
으악