Skip to content

[FEATURE] 채팅 요청 API에 대한 응답 Chat 형식으로 변경#210

Merged
yooooonshine merged 1 commit intodevelopfrom
feature/207-refactor-ai-chating-request
Oct 12, 2025
Merged

[FEATURE] 채팅 요청 API에 대한 응답 Chat 형식으로 변경#210
yooooonshine merged 1 commit intodevelopfrom
feature/207-refactor-ai-chating-request

Conversation

@yooooonshine
Copy link
Contributor

@yooooonshine yooooonshine commented Oct 12, 2025

개요

작업사항

  • 기존 requestId 대신 Chat 형식에 맞게 응답하도록 변경

Summary by CodeRabbit

  • New Features

    • 메시지 전송 시, 요청 ID 대신 생성된 채팅 메시지를 즉시 응답으로 받아볼 수 있습니다.
  • Refactor

    • 응답 구조와 네임스페이스를 일관성 있게 정리했습니다. 기능 동작에는 변화가 없습니다.
  • Chores

    • 사용되지 않는 응답 형식을 정리·제거했습니다.

- 기존 requestId 대신 Chat 형식에 맞게 응답하도록 변경
@yooooonshine yooooonshine linked an issue Oct 12, 2025 that may be closed by this pull request
@coderabbitai
Copy link

coderabbitai bot commented Oct 12, 2025

Walkthrough

채팅 메시지 요청/응답 DTO 구조가 재배치되고, sendUserMessage의 반환 타입이 SendUserMessageResponse에서 ChatMessageResponse로 변경되었습니다. 이에 따라 컨트롤러/서비스와 리스너, 서버 서비스의 import가 정리되었고, 불필요한 DTO(ChatMessagesResponse, SendUserMessageResponse)가 삭제되었습니다.

Changes

Cohort / File(s) Summary of changes
DTO 삭제
src/main/java/hanium/modic/backend/domain/ai/aiChat/dto/ChatMessagesResponse.java, src/main/java/hanium/modic/backend/web/ai/aiServer/dto/response/SendUserMessageResponse.java
두 공개 DTO 레코드 삭제: ChatMessagesResponse(messages, hasNext), SendUserMessageResponse(requestId) 제거.
DTO 패키지 이동(웹 계층으로)
src/main/java/hanium/modic/backend/web/ai/aiChat/dto/request/ChatMessageRequest.java, src/main/java/hanium/modic/backend/web/ai/aiChat/dto/response/ChatMessageResponse.java, src/main/java/hanium/modic/backend/web/ai/aiChat/dto/response/GetChatRoomResponse.java
패키지 변경: ...domain.ai.aiChat.dto...web.ai.aiChat.dto.*로 이동. 공개 네임스페이스만 변경, 로직 불변.
서비스 반환 타입 변경
src/main/java/hanium/modic/backend/domain/ai/aiChat/service/AiChatMessageService.java
sendUserMessage 반환 타입을 SendUserMessageResponseChatMessageResponse로 변경. 반환 값 생성도 new SendUserMessageResponse(requestId)ChatMessageResponse.from(message)로 수정.
컨트롤러 공개 API 변경
src/main/java/hanium/modic/backend/web/ai/aiChat/controller/AiChatController.java
엔드포인트 sendUserMessage의 반환 시그니처 변경: AppResponse<SendUserMessageResponse>AppResponse<ChatMessageResponse>. 관련 import 및 지역 변수 타입 갱신.
관련 import 정리
src/main/java/hanium/modic/backend/domain/ai/aiChat/service/AiChatRoomService.java, src/main/java/hanium/modic/backend/domain/ai/aiServer/listener/AiImageCreatedListener.java, src/main/java/hanium/modic/backend/domain/ai/aiServer/service/AiServerService.java
DTO 경로 변경에 따라 import를 ...domain...dto...web...dto.response로 업데이트. 기능/로직 변경 없음.

Sequence Diagram(s)

sequenceDiagram
    autonumber
    actor Client
    participant Controller as AiChatController
    participant Service as AiChatMessageService
    participant Repo as MessageStore
    participant AI as AiServerService

    Client->>Controller: POST /ai/chat/messages (ChatMessageRequest)
    Controller->>Service: sendUserMessage(userId, postId, request)
    Service->>Repo: 메시지 저장(요청/메타데이터)
    alt 이미지 포함
        Service->>AI: 이미지 처리 요청(비동기 가능)
        AI-->>Service: 처리 결과/상태
    end
    Service->>Service: ChatMessageResponse.from(message)
    Service-->>Controller: ChatMessageResponse
    Controller-->>Client: AppResponse<ChatMessageResponse>
    note over Client,Controller: 응답 페이로드가 RequestId 단독 → ChatMessageResponse로 변경
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Poem

토끼는 톡톡, 귀를 세워 보네 🐇
예전엔 ID만, 이젠 메시지 꽉 채워요!
순서와 번호, 답도 또렷하게,
패키지는 이사 가고 import는 산뜻하게.
찰칵-변경 완료, 채팅은 더 말끔하게!

Pre-merge checks and finishing touches

❌ Failed checks (2 warnings, 1 inconclusive)
Check name Status Explanation Resolution
Out of Scope Changes Check ⚠️ Warning 이번 PR은 채팅 요청 API 응답 형식 변경을 넘어서 ChatMessagesResponse 삭제와 DTO 패키지 이동 등 요청 응답 변경 이슈(#207) 범위를 벗어난 리팩토링 작업을 포함하고 있습니다. ChatMessagesResponse 제거 및 DTO 패키지 구조 변경 등 범위를 벗어난 변경 사항은 별도의 PR로 분리하여 채팅 요청 API 응답 변경 작업만 포함하도록 재조정하십시오.
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
Linked Issues Check ❓ Inconclusive 서비스와 컨트롤러가 SendUserMessageResponse 대신 ChatMessageResponse를 반환하도록 수정되어 채팅 요청 API 응답 형식 변경 작업(#207)은 반영되었으나 ChatMessageResponse 내부에 messageId 및 messageOrder 등 요구된 필드가 포함되었는지는 제공된 정보로 확인할 수 없습니다. ChatMessageResponse 클래스 정의를 검토하여 messageId와 messageOrder 등 #207 요구사항에 명시된 모든 필드가 포함되었는지 확인해야 합니다.
✅ Passed checks (2 passed)
Check name Status Explanation
Title Check ✅ Passed 제목이 채팅 요청 API 응답을 Chat 형식으로 변경하는 핵심 작업을 명확히 요약하고 있어 변경 내역과 일치합니다.
Description Check ✅ Passed Pull request 설명은 “## 개요”와 “## 작업사항” 섹션을 모두 포함하고 있으며 작업 내용을 명확히 기술하여 리포지토리 템플릿 요건을 충족합니다.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/207-refactor-ai-chating-request

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6261ac3 and 428b7a9.

📒 Files selected for processing (10)
  • src/main/java/hanium/modic/backend/domain/ai/aiChat/dto/ChatMessagesResponse.java (0 hunks)
  • src/main/java/hanium/modic/backend/domain/ai/aiChat/service/AiChatMessageService.java (3 hunks)
  • src/main/java/hanium/modic/backend/domain/ai/aiChat/service/AiChatRoomService.java (1 hunks)
  • src/main/java/hanium/modic/backend/domain/ai/aiServer/listener/AiImageCreatedListener.java (1 hunks)
  • src/main/java/hanium/modic/backend/domain/ai/aiServer/service/AiServerService.java (1 hunks)
  • src/main/java/hanium/modic/backend/web/ai/aiChat/controller/AiChatController.java (2 hunks)
  • src/main/java/hanium/modic/backend/web/ai/aiChat/dto/request/ChatMessageRequest.java (1 hunks)
  • src/main/java/hanium/modic/backend/web/ai/aiChat/dto/response/ChatMessageResponse.java (1 hunks)
  • src/main/java/hanium/modic/backend/web/ai/aiChat/dto/response/GetChatRoomResponse.java (1 hunks)
  • src/main/java/hanium/modic/backend/web/ai/aiServer/dto/response/SendUserMessageResponse.java (0 hunks)
💤 Files with no reviewable changes (2)
  • src/main/java/hanium/modic/backend/domain/ai/aiChat/dto/ChatMessagesResponse.java
  • src/main/java/hanium/modic/backend/web/ai/aiServer/dto/response/SendUserMessageResponse.java
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: build

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@yooooonshine yooooonshine merged commit acfff78 into develop Oct 12, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

채팅 요청 시 응답 변경

1 participant