21.12.06 TIL41

서태욱·2021년 12월 6일
0

🔎 오늘 배운 것

발생한 이슈

좋아요와 즐겨찾기 기능에서 발생한 이슈가 있었다.여러 사용자가 체크를 누른 후에 어느 한 사용자가 체크를 해제하면 DB에 저장해두었던 다른 사용자의 좋아요/즐겨찾기 데이터도 삭제되었다.

원인

기존 삭제 로직에서는 아래와 같이 게시물의 id값만을 변수로 주었다.

@PostMapping("/review/like")
    public void userReviewLike(@RequestBody UserReviewLikeDto userReviewLikeDto, @AuthenticationPrincipal UserDetailsImpl nowUser) {
        if (userReviewLikeDto.getAction().equals("uncheck")) {
            userReviewService.deleteLike(userReviewLikeDto.getUserReviewId());
        } else {
            userReviewService.saveLike(userReviewLikeDto.getUserReviewId(), nowUser);
        }
    }

처음 구성할 때 saveLike에는 현재 유저를 함께 저장하도록 했는데 왜 삭제에는 넣지 않았는지 모르겠다. 따라서 구체적으로 체크를 해제할 게시물을 특정지을 수 있도록 접속한 유저의 Id값을 추가하고 조회용 함수에도 연결키워드를 통해 연결해 주어 해결했다.

❗️ 느낀 점

알고 나면 간단한 것인데도 여전히 MVC 모델에서 데이터가 넘나드는 흐름을 파악하기 어렵다. 그래서 해결책을 생각하는 것도 시간이 너무 오래 걸린다. 그래도 일단 해결했다는 점에서는 뿌듯함을 느꼈다는..

profile
re:START

0개의 댓글