1️⃣ 뉴스피드 좋아요 기능 RESTful하게 리팩토링
- 기존의 토글 방식(POST 한 번으로 좋아요/취소)에서 RESTful 방식으로 POST(등록) / DELETE(취소) 방식으로 분리
- 각각의 기능을 명확한 HTTP 메서드와 상태코드로 구분 (201 Created, 204 No Content)
2️⃣ 좋아요 중복 검사 리팩토링
- NewsFeedLikeEntity나 CommentEntity 내부에서 하던 유효성 검사를 Repository 내부의 커스텀 메서드로 이동
- validateNotAlreadyLiked, getByNewsFeedAndUserOrThrow 같은 도우미 메서드 도입하여 중복 체크 및 예외처리를 깔끔하게 처리
3️⃣ 뉴스피드 좋아요 유저 목록 조회 기능 구현
- 좋아요 누른 유저의 nickname만 응답하는 LikeUserResponseDto 정의
- /api/feeds/{newsId}/like-users로 조회 가능하게 구현
4️⃣ 댓글 좋아요 기능 정비
- 뉴스피드 좋아요 구조와 동일한 방식으로 리팩토링 적용
- CommentLikeRepository에 중복 체크, 예외처리용 메서드 추가
- CommentLikeService에서 사용하여 도메인 로직 분리
5️⃣ 그 외 작업
- NewsFeedSortType, 검색 키워드, 페이지네이션, 정렬을 하나의 API에서 처리되도록 구조 정비
- JWT 기반 인증 적용 이후, Authentication.getName()을 통해 userId 추출해 사용하는 방식 통일
- @AuthenticationPrincipal 사용도 고민했지만, 기존 필터 구조와의 충돌 우려로 보류
'TIL' 카테고리의 다른 글
| [250411 TIL] 영속성 컨텍스트 심화 (1) | 2025.04.11 |
|---|---|
| [250409] N+1, 인덱싱, 썸네일 (1) | 2025.04.09 |
| [250407 TIL] 뉴스피드 팀프로잭트 (3) | 2025.04.07 |
| [250404 TIL] ORM (1) | 2025.04.04 |
| [250403 TIL ] JPA, Lombok, Hibernate 심화 어노테이션 (3) | 2025.04.03 |