728x90
320x100
🎯 오늘의 목표
- 좋아요(Like) 도메인 API 구현
- 좋아요(Like) 도메인 API 테스트
⚙️ 진행한 작업
- 좋아요(Like) 도메인 API 구현
- 좋아요(Like) 도메인 API 테스트
🛠️ 개발내용
📌 LikeController 구현
**
* 좋아요(Like) API 컨트롤러
*/
@RestController
@RequestMapping("/api/feeds")
@RequiredArgsConstructor
public class LikeController {
private final LikeService likeService;
/**
* 피드 좋아요
* @param feedId 좋아요할 피드 ID
* @param userDetails 인증된 사용자 정보
*/
@PostMapping("/{feedId}/likes")
public ResponseEntity<ApiResponse<Void>> like(@PathVariable Long feedId,
@AuthenticationPrincipal CustomUserDetails userDetails) {
User user = userDetails.getUser();
likeService.likeFeed(user, feedId);
return ResponseEntity.ok(ApiResponse.success(null, "좋아요를 눌렀습니다."));
}
/**
* 피드 좋아요 취소
* @param feedId 좋아요 취소할 피드 ID
* @param userDetails 인증된 사용자 정보
*/
@DeleteMapping("/{feedId}/likes")
public ResponseEntity<ApiResponse<Void>> unlike(@PathVariable Long feedId,
@AuthenticationPrincipal CustomUserDetails userDetails) {
User user = userDetails.getUser();
likeService.unlikeFeed(user, feedId);
return ResponseEntity.ok(ApiResponse.success(null, "좋아요를 취소했습니다."));
}
}
[포스트맨으로 테스트 하기]
📌 좋아요 누르기 테스트
Method | POST |
URL | http://localhost:8080/api/feeds/{feedId}/likes |
Header | Authorization: Bearer {AccessToken} |
Body | 없음 (PathVariable로 feedId만 넘김) |
[테스트 결과 : 성공]

📌 좋아요 취소 테스트
Method | DELETE |
URL | http://localhost:8080/api/feeds/{feedId}/likes |
Header | Authorization: Bearer {AccessToken} |
Body | 없음 |
[테스트 결과 : 성공]

728x90
320x100
'💻 뚝딱뚝딱 > 북북클럽' 카테고리의 다른 글
[개발일지 #023] 댓글(Comment) API 구현 및 테스트 (0) | 2025.04.30 |
---|---|
[개발일지 #022] 댓글(Comment) 도메인 구현 및 단위테스트 (0) | 2025.04.30 |
[개발일지 #020] 좋아요(Like) 도메인 개발 및 단위테스트 (0) | 2025.04.29 |
[개발일지 #019] 피드(Feed) 도메인 API 구현 및 테스트 (0) | 2025.04.29 |
[개발일지 #018] 피드(Feed) 도메인 개발 및 단위테스트 (0) | 2025.04.29 |