Skip to content

Conversation

@jher235
Copy link
Member

@jher235 jher235 commented Oct 22, 2025

🔊 Summaries

  • 온보딩 완료 API 변경
    • v4 부터 온보딩 시 선택한 favoriteArtist 목록을 서버에서 관리함. 따라서 기존에 onboard 완료 시 RequestBody를 받던 부분을 삭제하고 내부적으로 처리하도록 변경함

✨ Notification

@jher235 jher235 requested a review from ch1hyun October 22, 2025 08:06
@jher235 jher235 self-assigned this Oct 22, 2025
@jher235 jher235 added the ✨ Feature 기능 개발 label Oct 22, 2025
@claude
Copy link

claude bot commented Oct 22, 2025

Claude finished @jher235's task —— View job


Pull Request 리뷰 완료

할 일 목록

  • 변경된 파일들 분석
  • 코드 리뷰 및 개선사항 도출
  • 리뷰 결과 정리

변경 사항 요약

V4 온보딩 API 주요 변경점:

  • 기존: onboard 완료 시 RequestBodyfavoriteArtists 목록을 받아서 처리
  • 변경: 서버에서 캐시된 favoriteArtists 데이터를 내부적으로 사용하여 처리
  • OnboardRequest DTO에 @Deprecated 어노테이션 추가
  • 새로운 AuthControllerV4 생성으로 기존 API와 분리

발견된 문제점 및 개선사항

1. 에러 처리 누락

파일: AuthFacade.java:87-93

public void onboard(long userId) {
    UserOnboardCacheDTO cachedArtists = userOnboardService.getCachedArtists(userId);
    Set<String> favoriteArtistIds = cachedArtists.favoriteArtistIds();
    // 캐시된 데이터가 null이거나 빈 경우에 대한 검증 로직 없음
}
  • 문제: 캐시된 아티스트 데이터가 없거나 비어있을 경우에 대한 방어 로직이 없음
  • 개선안: favoriteArtistIds가 null이거나 empty일 때 적절한 예외 처리 추가 필요

2. 검증 로직 누락

파일: AuthFacade.java:91

  • 문제: 기존 deprecated 메서드에서는 onboardService.validateFavoriteArtistCount(favoriteArtistIds)로 아티스트 수 검증을 했으나, 새 메서드에서는 이 검증이 누락됨
  • 개선안: 캐시에서 가져온 favoriteArtistIds에 대해서도 동일한 검증 로직 적용 필요

3. 임시 권한 설정의 명확성

파일: AuthControllerV4.java:57-60

/**
 * 개발을 위해 임시로 Role.GENERAL 접근 허용
 */
@Permission(role = {Role.ONBOARDING, Role.GENERAL})
  • 문제: 임시 설정인지 운영 설정인지 모호함
  • 개선안: TODO 주석이나 이슈 번호를 추가하여 언제까지 유지할지 명시

4. 메서드 순서 및 일관성

파일: AuthFacade.java:85-98

  • 개선안: 새로운 onboard(long userId) 메서드를 deprecated 메서드 뒤에 배치하는 것보다는 앞에 배치하여 주 메서드임을 명확히 하는 것이 좋음

5. 네이밍 일관성

파일: AuthFacade.java:96

  • 개선안: flushCachedTopArtists 메서드명이 실제로는 온보딩 캐시를 플러시하므로 flushOnboardCache 같은 더 명확한 이름 고려

긍정적인 부분

  • API 버전 분리를 통한 하위 호환성 유지
  • @Deprecated 어노테이션으로 레거시 코드 표시
  • Swagger 문서에 V4 변경사항 명확히 기술

- 기존 auth/v4/onboard 에서 user/onboard/v4 로 변경. 다른 온보딩 API 등과 통일
@jher235 jher235 merged commit 47b17ff into develop Oct 22, 2025
1 check passed
@jher235 jher235 deleted the feat/CONFETI-43 branch October 22, 2025 15:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

✨ Feature 기능 개발

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants