2.9 KiB
2.9 KiB
20260328 콘텐츠 조회 파라미터 제거 및 비로그인 기본값 고정
목적
- 모든 API에서
isAdultContentVisible,contentType요청 파라미터를 제거한다. - 비로그인 사용자는 항상
isAdultContentVisible = false,contentType = ContentType.ALL로 처리한다. - 로그인 사용자는 기존과 동일하게
MemberContentPreference기반 로직을 유지한다.
구현 체크리스트
isAdultContentVisible,contentType를 받는 잔여 API 시그니처를 모두 제거한다.- QA:
grep("@RequestParam(\"isAdultContentVisible\"|@RequestParam(\"contentType\")")결과가 0인지 확인
- QA:
- 연관 서비스 메서드 시그니처/호출부를 정리한다.
- QA:
compileKotlin성공으로 시그니처 불일치가 없는지 확인
- QA:
- 비로그인 기본값을
false/ALL로 고정한다.- QA: 익명 분기
ViewerContentPreference(false/ALL)코드 확인 + 관련 테스트 통과
- QA: 익명 분기
- 로그인 분기는 기존
memberContentPreferenceService.resolveForQuery(member = member)흐름을 유지한다.- QA: 관련 컨트롤러/서비스에서 로그인 분기 호출 유지 확인
- 회귀 검증을 수행한다.
- QA:
./gradlew test,./gradlew build성공
- QA:
구현 완료 후 기록
1차 구현
- 무엇을:
- 잔여 API 파라미터를 전부 제거했다.
HomeController,LiveApiController,LiveRoomController,AudioContentController,AudioContentMainTabHomeController
- 연관 서비스 시그니처와 호출부를 정리했다.
HomeService,LiveApiService,LiveRoomService
- 비로그인 분기 기본값을
ViewerContentPreference(isAdultContentVisible = false, contentType = ContentType.ALL, isAdult = false)로 고정했다.
- 잔여 API 파라미터를 전부 제거했다.
- 왜:
- 요청사항이 “모든 API에서 해당 파라미터 제거 + 비로그인 기본값 고정 + 로그인 기존 동작 유지”로 명확했기 때문이다.
- 어떻게:
- 명령:
./gradlew compileKotlin compileTestKotlingrep("@RequestParam(\"isAdultContentVisible\"|@RequestParam(\"contentType\")", include="*Controller.kt")ast-grep: ViewerContentPreference(isAdultContentVisible = false, contentType = ContentType.ALL)./gradlew test./gradlew buildlsp_diagnostics(수정된.kt파일 대상)
- 결과:
- 컴파일 성공(
compileKotlin,compileTestKotlin). - 컨트롤러의
@RequestParam("isAdultContentVisible"),@RequestParam("contentType")검색 결과 0건. - 비로그인 기본값 고정 분기 5개 위치 확인(
HomeService,LiveApiService,LiveRoomService,AudioContentController,AudioContentMainTabHomeController). ./gradlew test성공../gradlew build성공.- 현재 환경은 Kotlin LSP 서버 미구성으로
lsp_diagnostics(.kt)실행 불가였고, Gradle 컴파일/테스트/빌드로 정합성 검증 완료.
- 컴파일 성공(
- 명령: