[Fix] 검색 탭 앨범 목록 N+1 요청 제거 (#66) - #68
Conversation
- GET /albums 응답 계약에 coverImageUrl(nullable)·photoCount 포함 — Album 모델·DTO 반영, 죽은 필드 userId 제거 - AlbumViewModel의 카드 프리뷰 채우기 루프(albumPreviews)·AlbumPreview 타입 삭제 - AlbumCard가 Album 필드를 직접 사용, 사진 수 표기는 항상 노출 - 검색 탭 진입 시 서버 요청 27회 → 1회 (앨범 26개, 목 서버 로그 실측) - Album 생성자 변경으로 구식 AlbumDetailView #Preview 제거
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (6)
💤 Files with no reviewable changes (2)
Included review availability: Your plan includes up to 1 review per rolling hour; 0 remain after this review. Walkthrough앨범 응답과 도메인 모델에 커버 이미지 URL과 사진 수를 추가했습니다. 앨범별 사진 조회와 프리뷰 상태를 제거했습니다. 검색 화면은 Changes앨범 목록 표시 흐름
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: 🔵 Low · up to The album list now requires the backend to provide a non-null photoCount; deploying the app before that contract is available could cause album-list loading failures. The PR is otherwise mergeable with explicit owner awareness and coordinated backend deployment. Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
✨ PR 유형
어떤 변경 사항이 있나요??
🛠️ 작업내용
Closes #66
문제: 검색 탭 진입 시 앨범 카드의 대표 사진·장수를 채우려고 앨범마다
GET /albums/{tagId}/photos를 순차 호출 — 앨범 26개 기준 진입 한 번에 27요청 (목 서버 로그 실측).수정:
GET /albums응답 계약에coverImageUrl(nullable)·photoCount포함 —Album도메인 모델·AlbumResponseDTO에 반영, 죽은 필드userId제거AlbumViewModel의 프리뷰 채우기 루프(albumPreviews)와AlbumPreview타입 삭제 (−16줄)AlbumCard가Album필드를 직접 사용 — 프리뷰 로딩 전 장수가 비어 보이던 지연도 함께 사라짐Album생성자 변경으로 구식AlbumDetailView#Preview 제거효과: 검색 탭 진입 시 서버 요청 27회 → 1회
📋 추후 진행 상황
GET /albums응답에 두 필드 추가 필요 (현재 로컬 목 서버로 검증)📌 리뷰 포인트
photoCount를 non-optional로 디코드하므로, 실서버가 이 필드를 내려주기 전에는 앨범 목록 디코드가 실패함 — 서버 계약 선행 조건coverImageUrl은 사진 없는 앨범을 고려해 optional (String?→URL?변환은 Data 레이어에서 수행)✅ Checklist
PR이 다음 요구 사항을 충족하는지 확인해주세요!!!
🤖 Generated with Claude Code
Summary by CodeRabbit
새로운 기능
개선 사항