Files
sodalive-backend-spring-boot/docs/20260224_SNS카카오오픈채팅전환.md

2.5 KiB

구현 항목

  • SNS 응답/요청 DTO 전수 점검 후 blogUrl 제거
  • SNS 응답/요청 DTO에 kakaoOpenChatUrl 추가
  • 기존 websiteUrl 입력/반환 값을 kakaoOpenChatUrl로 동일 매핑
  • 회원 정보 수정 API(ProfileUpdateRequest, MemberService.profileUpdate) 반영
  • SNS 정보를 반환하는 API 응답(ProfileResponse, MyPageResponse, CreatorResponse, GetCreatorDetailResponse, GetLiveRoomUserProfileResponse, GetRoomDetailManager) 반영
  • LSP 진단/테스트/빌드 검증 및 결과 기록
  • 2차 수정: non-null Response 호환성을 위해 GetCreatorDetailResponsewebsiteUrl, blogUrl 복구
  • 2차 수정: non-null Response 호환성을 위해 GetLiveRoomUserProfileResponsewebsiteUrl, blogUrl 복구
  • 2차 수정 검증: 테스트/빌드 재실행 및 결과 기록

검증 기록

  • 1차 구현

    • 무엇을: SNS 필드를 instagramUrl, fancimmUrl, xUrl, youtubeUrl, kakaoOpenChatUrl 구조로 통일하고 blogUrl을 API 요청/응답 계층에서 제거했다. kakaoOpenChatUrl은 기존 member.websiteUrl 컬럼 값을 그대로 사용하도록 매핑했다.
    • 왜: DB/Entity 변경 없이 기존 websiteUrl 저장 데이터를 카카오 오픈채팅 링크로 재해석해 노출하고, 더 이상 사용하지 않는 blogUrl을 API 스펙에서 제거하기 위해서다.
    • 어떻게:
      • 코드 반영: ProfileUpdateRequest, ProfileResponse, MyPageResponse, CreatorResponse, GetCreatorDetailResponse, GetLiveRoomUserProfileResponse, GetRoomDetailResponse, MemberService, ExplorerService, LiveRoomService
      • 정적 진단: lsp_diagnostics 실행 시 .kt LSP 미구성으로 불가(환경 제약 확인)
      • 동작 검증: ./gradlew test && ./gradlew build 실행
        • 결과: BUILD SUCCESSFUL (test 성공 후 build 성공)
  • 2차 수정

    • 무엇을: non-null Response에서 제거되었던 websiteUrl, blogUrl 필드를 GetCreatorDetailResponse, GetLiveRoomUserProfileResponse에 복구했다. 동시에 각 서비스 매핑에서 해당 필드를 다시 응답에 포함했다.
    • 왜: 필수 응답 키 제거로 인한 하위 호환성 이슈를 해소하기 위해서다.
    • 어떻게:
      • 코드 반영: GetCreatorDetailResponse, ExplorerService, GetLiveRoomUserProfileResponse, LiveRoomService
      • 동작 검증: ./gradlew test && ./gradlew build 실행
        • 결과: BUILD SUCCESSFUL (test 성공 후 build 성공)