✅목표 Post삭제 시 연관 되어 있는 Comment, Like 삭제 포스팅을 읽기 전에 아직 영속성 전이와 Soft Delete를 알지 못한다면 아래의 포스팅을 먼저 읽기를 권장한다. https://alcoholble.tistory.com/11 https://alcoholble.tistory.com/7 [JPA] Soft Delete 적용하기 Soft Delete가 왜 필요한가? SNS 프로젝트를 진행하면서 한가지 상황을 가정해보았다. 누군가가 법적으로 침해되는 게시물이나 댓글을 작성하여 신고를 하려고한다. 하지만 그 회원이 탈퇴를 하면 alcoholble.tistory.com [JPA] 영속성 전이, 고아객체(Cascade) sns프로젝트를 진행하면서 해당 Post가 지워지기 되면 함께 관계되어있던 ..
sns만들기 프로젝트 3일차 마이피드 controller 테스트 코드를 작성하였다. 요구사항은 다음과 같다. 요구사항 - 마이피드 조회 성공 - 마이피드 조회 실패(1) - 로그인 하지 않은 경우 코드 PostControllerTest 이전의 좋아요 테스트와 다른 사항은 없으며 mock 라이브러리를 사용하여 테스트를 진행하였다. @Test @DisplayName("마이피드 조회 성공") @WithMockUser //인증된 상태 void myPeed_success() throws Exception { String url = "/api/v1/posts/my"; //데이터 만들기 PostGetResponse postGetResponse = PostGetResponse.builder() .id(1L) .titl..
sns만들기 프로젝트 2일차 좋아요 기능을 구현하였다. 요구사항은 다음과 같다. 요구사항 - 좋아요 누르기 - '좋아요'는 한번만 누를 수 있음, 중복으로 누르는 경우는 좋아요 취소 좋아요 누르기 POST /posts/{postId}/likes - like를 한번 누를 때 마다 row가 1개씩 추가되는 방식으로 구현 - Json 형태로 리턴 - response 형태: { "resultCode":"SUCCESS", "result": "좋아요를 눌렀습니다." } { "resultCode":"SUCCESS", "result": "좋아요를 취소하였습니다." } 코드 Like - 해당 좋아요를 누른 게시물과 유저를 저장해야했기에 @ManyToOne으로 연관관계를 설정해주었다. - 추후 좋아요를 저장할때 Entit..