diff --git a/docs/20260403_메시지전송username추가.md b/docs/20260403_메시지전송username추가.md index 672c8690..d1787c67 100644 --- a/docs/20260403_메시지전송username추가.md +++ b/docs/20260403_메시지전송username추가.md @@ -1,5 +1,5 @@ - [x] sendMessage의 외부 채팅 API 호출 경로와 요청 payload 구성을 확인한다. -- [x] 외부 `/api/chat` 요청 body에 `member.nickname`을 `username` 파라미터로 전달하도록 수정한다. +- [x] 외부 `/api/chat` 요청 body에 `member.nickname`을 `userName` 파라미터로 전달하도록 수정한다. - [x] 변경 파일 기준으로 검증을 수행하고 결과를 기록한다. ## 검증 기록 @@ -8,3 +8,8 @@ - 무엇을: `ChatRoomService.sendMessage`가 외부 `/api/chat` 호출 시 `member.nickname`을 `username` 파라미터로 함께 전달하도록 수정했다. - 왜: 외부 채팅 API가 사용자 닉네임을 함께 받아야 하는 요구사항을 기존 메시지 전송 흐름 안에서 최소 범위로 반영해야 했기 때문이다. - 어떻게: 내부 탐색으로 `/api/chat` payload 생성 위치가 `ChatRoomService.callExternalApiForChatSend`임을 확인한 뒤 `./gradlew compileKotlin`과 `./gradlew test`를 실행했고 둘 다 `BUILD SUCCESSFUL`이었다. 추가로 `./gradlew test --tests '*ChatRoom*'`를 시도했지만 해당 패턴의 테스트 클래스는 없어 필터 검증은 불가했다. + +### 2차 수정 +- 무엇을: 외부 `/api/chat` 요청 body의 키 이름을 `username`에서 `userName`으로 변경했다. +- 왜: 외부 API 계약에서 사용자명 필드명이 camelCase인 `userName`으로 요구되기 때문이다. +- 어떻게: `ChatRoomService.callExternalApiForChatSend`의 request body 키가 `"userName"`으로 생성되는 것을 코드에서 재확인했다. 이 환경에는 Kotlin LSP가 구성되어 있지 않아 별도 diagnostics는 수행할 수 없었고, 대신 `./gradlew compileKotlin test`를 실행해 `BUILD SUCCESSFUL`을 확인했다. diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/chat/room/service/ChatRoomService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/chat/room/service/ChatRoomService.kt index 747937d0..467ed251 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/chat/room/service/ChatRoomService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/chat/room/service/ChatRoomService.kt @@ -865,7 +865,7 @@ class ChatRoomService( val requestBody = mapOf( "userId" to userId, - "username" to username, + "userName" to username, "characterId" to characterUUID, "message" to message, "sessionId" to sessionId