Skip to content

Conversation

@joyewon0705
Copy link
Collaborator

📌 개요

  • 게시글에 대한 좋아요 및 좋아요 취소 기능을 구현했습니다.
  • 좋아요 관련 API 전반(Controller, Service, Repository, DTO, Exception, Swagger, Test)을 포함합니다.

🔨 작업 내용

  1. Controller

    • PostLikeController 추가

      • POST /api/posts/{postId}/like: 게시글 좋아요 등록
      • DELETE /api/posts/{postId}/like: 게시글 좋아요 취소
  2. Service

    • PostLikeService 구현
    • 사용자 및 게시글 검증 로직 추가
    • 중복 좋아요 시 POST_005 예외 발생
    • 좋아요 취소 시 POST_006 예외 처리 및 likeCount 감소 반영
  3. Repository

    • PostLikeRepository 추가
    • existsByUserIdAndPostId, findByUserIdAndPostId 메서드 구현
  4. Entity

    • Post 엔티티에 likeCount 필드 추가 (@Column(nullable = false))
    • increaseLikeCount(), decreaseLikeCount() 메서드 추가
  5. DTO

    • PostLikeResponse 추가 (postId, likeCount 반환)
  6. ErrorCode

    • POST_005: 이미 좋아요한 게시글입니다.
    • POST_006: 해당 게시글에 대한 좋아요 기록이 없습니다.
  7. Swagger 문서 (PostLikeControllerDocs)

    • 게시글 좋아요 등록/취소 API 명세 작성
    • 성공 및 에러 응답 예시를 실제 테스트 결과와 동일하게 반영
  8. Test

    • PostLikeServiceTest: 좋아요 등록 및 취소 단위 테스트 작성
    • PostLikeControllerTest: 명세의 모든 케이스(성공, 실패) 통합 테스트 작성

🔗 관련 이슈

Closes #201

📝 참고 사항

  • Post 엔티티에 likeCount 필드 추가됨 → ERD 반영 필요
  • 추후 트래픽 증가 시 비동기 카운팅(Redis 등)으로 확장 가능
  • PostRepositoryImplTODO 주석 추가: QueryDSL 조회 시 likeCount 포함 개선 예정

✅ 체크리스트

  • 기능 동작 확인
  • 테스트 코드 작성
  • 문서/주석 추가 및 최신화

@github-actions github-actions bot changed the title Feat: 게시글 좋아요/좋아요 취소 API 구현 Feat: 게시글 좋아요/좋아요 취소 API 구현 (#201) Oct 7, 2025
@joyewon0705 joyewon0705 merged commit 08acaf3 into dev Oct 7, 2025
3 checks passed
@github-actions github-actions bot deleted the Feat/201 branch October 7, 2025 08:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants