TIL 63일차

Moon-Tree·2023년 3월 31일
0

◆ 좋아요 기능

  1. 목표
    1) 사용자가 게시물에 좋아요를 누르면 그 정보가 데이터베이스에 저장되고, 사용자가 다시 해당 게시물을 방문했을 때 좋아요를 눌렀는지 여부를 확인할 수 있게 됩니다.
    2) 각 게시물의 좋아요 수를 실시간으로 업데이트할 수 있습니다.

  2. 구현 방법
    ReviewRestController, ReviewLikeDao, ReviewDao, ReviewLikeDto, ReviewLikeVo, review-like.js, detail.jsp 파일의 코드를 수정 및 추가.

가. ReviewRestController
1) 사용자가 좋아요 버튼을 클릭하면, HTTP POST 요청이 이 컨트롤러의 '/like' 엔드포인트로 전송됩니다.
2) 해당 메서드는 세션에서 사용자 ID를 가져와 ReviewLikeDto 객체를 생성하고, 현재 사용자가 이미 좋아요를 눌렀는지 확인합니다.
3) 그 후, 이미 좋아요를 눌렀다면 좋아요를 취소하고, 그렇지 않다면 좋아요를 추가합니다.
4) 마지막으로, 해당 게시물의 총 좋아요 수를 업데이트하고 결과를 반환합니다.

나. ReviewLikeDao
1) 좋아요 데이터를 데이터베이스에 추가, 삭제, 조회하는 메서드를 제공합니다.
2) 또한, 특정 게시물에 대한 총 좋아요 수를 계산하는 메서드도 제공합니다.

다. ReviewDao
1) 특정 게시물의 좋아요 수를 업데이트하는 메서드를 제공합니다.

라. ReviewLikeDto
1) 좋아요 정보를 담고 있는 DTO(Data Transfer Object)입니다.
2) 사용자 ID와 게시물 번호를 저장합니다.

마. ReviewLikeVo
1) 좋아요 기능의 결과를 표현하는 Value Object입니다.
2) 좋아요를 눌렀는지 여부와 해당 게시물의 총 좋아요 수를 저장합니다.

바. review-like.js
1) 좋아요 버튼의 클릭 이벤트를 처리합니다. 사용자가 좋아요 버튼을 클릭하면, '/rest/review/like' 엔드포인트로 HTTP POST 요청을 보냅니다.
2) 응답을 받으면, 좋아요 버튼의 스타일을 업데이트하고 좋아요 수를 업데이트합니다.

사. detail.jsp
1) 각 게시물의 세부 정보를 표시하고 좋아요 버튼을 제공합니다.
2) 좋아요 버튼 옆에는 해당 게시물의 총 좋아요 수가 표시됩니다.

profile
Backend Developer

0개의 댓글