FollowController 클래스@RestController로 지정되어 있으며, @RequestMapping("/api/v1/follows") 경로로 들어오는 요청을 처리합니다.createFollow, getFollowingList, getFollowerList, deleteFollow, deleteFollower, getFriendCalendars, getFriendCalendarForDate 등입니다.createFollow:
@PathVariable 어노테이션을 사용하여 URL 경로에서 memberId와 targetMemberId 값을 추출합니다.memberId가 targetMemberId를 팔로우하게 합니다.FollowForm 객체를 생성하면서 memberId와 targetMemberId를 전달합니다.FollowForm은 두 사용자의 ID를 포함하는 폼 객체로, 팔로우 요청 정보를 캡슐화하여 followService로 전달합니다.getFollowingList: memberId가 팔로잉 중인 사용자의 목록을 반환합니다.getFollowerList: memberId를 팔로우하는 사용자의 목록을 반환합니다.deleteFollow: 특정 사용자를 언팔로우합니다.deleteFollwer: 사용자가 자신의 팔로워를 삭제합니다.getFriendCalendars: 특정 친구의 전체 캘린더를 조회합니다.getFriendCalendarForDate: 친구의 특정 날짜에 대한 캘린더를 조회합니다.@PathVariable 어노테이션을 사용하여 URL 경로에서 memberId와 targetMemberId 값을 추출합니다.
FollowService 클래스@Service 클래스입니다.MemberRepository, FollowRepository, ScheduleRepository 등을 통해 데이터베이스와 상호작용합니다.createFollow:
equals 메서드는 객체의 동등성(Equality)을 확인하는 데 사용getFollowingList: 사용자가 팔로잉하는 사용자 목록을 FollowingResponse DTO로 변환하여 반환합니다.getFollowerList: 사용자를 팔로우하는 사용자 목록을 FollowerResponse DTO로 변환하여 반환합니다.