Files
sodalive-backend-spring-boot/docs/20260316_캐릭터등록JP성별일본어변환.md

2.0 KiB

캐릭터 등록 JP 성별 일본어 변환

  • AdminChatCharacterController.registerCharacter의 외부 API 호출 경로 확인
    • QA: callExternalApi에서 region/gender 바디 구성 위치 확인
  • region == JP일 때 gender 값을 일본어로 변환하는 로직 추가
    • QA: 여성 -> 女性, 남성 -> 男性, 기타 -> その他 매핑 확인
  • 등록 API 외부 호출 시에만 변환이 적용되도록 구현
    • QA: DB 저장용 request.gender는 기존 값 유지 여부 확인
  • 정적 진단 및 테스트 수행
    • QA: Kotlin LSP 미구성으로 lsp_diagnostics 불가 확인, ./gradlew test --tests "kr.co.vividnext.sodalive.admin.chat.character.AdminChatCharacterControllerTest"./gradlew build -x test 성공

검증 기록

1차 구현

  • 무엇을: registerCharacter 외부 API 호출 시 region == JP 조건에서만 gender를 일본어(女性/男性/その他)로 변환하도록 구현하고, 매핑 단위 테스트를 추가했다.
  • 왜: JP 리전 요청에서 외부 API가 일본어 성별 값을 요구하므로 등록 API 요청 바디의 gender 값만 조건부 변환이 필요했다.
  • 어떻게:
    • 코드 확인: src/main/kotlin/kr/co/vividnext/sodalive/admin/chat/character/AdminChatCharacterController.kt에서 callExternalApi 바디 구성 지점 확인 후 mapGenderForExternalApi 헬퍼 추가
    • 매핑 검증: src/test/kotlin/kr/co/vividnext/sodalive/admin/chat/character/AdminChatCharacterControllerTest.kt에서 JP 매핑(여성/남성/기타) 및 KR 유지 케이스 검증
    • 정적 진단: lsp_diagnostics 실행 시 Kotlin LSP 미구성으로 불가(환경 제약)
    • 실행 검증 1: ./gradlew test --tests "kr.co.vividnext.sodalive.admin.chat.character.AdminChatCharacterControllerTest" → 성공
    • 수동 확인: build/test-results/test/TEST-kr.co.vividnext.sodalive.admin.chat.character.AdminChatCharacterControllerTest.xml에서 tests="4" failures="0" errors="0" 확인
    • 실행 검증 2: ./gradlew build -x test → 성공