Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

엘라의 개발 스케치 Note

[TIL] 내일배움캠프 47일차(23.06.30.) - 댓글 좋아요 기능 구현 본문

내일배움캠프/TIL

[TIL] 내일배움캠프 47일차(23.06.30.) - 댓글 좋아요 기능 구현

엘라랑이 2023. 7. 11. 12:01

To-do

  • 뉴스피드 프로젝트 회의 및 작성
  • 스프링 보충 강의
  • 알고리즘 공부 및 그룹스터디
프로그래머스 코딩 기초 트레이닝 마스터

 

TIL

  • 댓글 좋아요 기능 구현하기(댓글 db를 Put 하여 좋아요 수가 1씩 늘어나는 방법으로 구현)

? 아래 방법으로 코드를 작성하니 ResponseBody에는 좋아요수가 +1이 되지만 실제 DB에서는 좋아요 수가 추가되지 않음 

 @Service
 (생략)
 	// 선택한 댓글 좋아요 추가
	public CommentResponseDto commentLike(Long id, User user) {
		findComment(id).updateLikes(countLikes(id) + 1);
		CommentResponseDto commentResponseDto = new CommentResponseDto(findComment(id));
		return commentResponseDto;
	}

	// 선택한 댓글 좋아요수 구하기
	public int countLikes(Long id) {
		return findComment(id).getLikes();
	}
@Entity
(생략)
    public void updateLikes(int addLike) {
        this.likes = addLike;
    }

 ! try. 이것저것 시도해보니 해결(ⓐ Entity에서 updateLike 메소드를 매개변수 없이 정의하기, ⓑ JPA에 save하는 내용이 없어 저장이 안된 것으로 추정하여 save 하는 내용을 추가)

 @Service
 (생략)
 	// 선택한 댓글 좋아요 추가
    public CommentResponseDto commentLike(Long id, User user) {
        Comment comment = findComment(id);
        comment.updateLikes();
        Comment savedComment = commentRepository.save(comment);
        CommentResponseDto commentResponseDto = new CommentResponseDto(savedComment);
        return commentResponseDto;
@Entity
(생략)
    public void updateLikes() {
    this.likes++;
}

 ? => 해당 방법으로 구현하니 DB상에 좋아요를 누른 사람이 저장되어 있지 않다보니 좋아요 취소를 할 수 없고, 한 사용자가 무한정으로 좋아요를 누를 수 있게 됨 -> 팀원들에게 Entity를 수정 및 다른 방법으로 좋아요를 구현하는 방법 제안

 

Next...

  • 뉴스피드 프로젝트 회의 및 작성
  • 알고리즘 공부 및 그룹스터디
 
Comments