Skip to content

Commit 253bd39

Browse files
committed
글로벌 익셉션 설정에따라 êpr리뷰 ë설정 변경 + 컨트롤러 응답 공통 응답으로 변경
1 parent 11258a3 commit 253bd39

File tree

1 file changed

+32
-20
lines changed

1 file changed

+32
-20
lines changed
Lines changed: 32 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
package com.back.koreaTravelGuide.domain.ai.aiChat.controller
22

3+
import com.back.koreaTravelGuide.common.ApiResponse
34
import com.back.koreaTravelGuide.domain.ai.aiChat.dto.AiChatRequest
45
import com.back.koreaTravelGuide.domain.ai.aiChat.dto.AiChatResponse
56
import com.back.koreaTravelGuide.domain.ai.aiChat.dto.SessionMessagesResponse
67
import com.back.koreaTravelGuide.domain.ai.aiChat.dto.SessionsResponse
78
import com.back.koreaTravelGuide.domain.ai.aiChat.dto.UpdateSessionTitleRequest
89
import com.back.koreaTravelGuide.domain.ai.aiChat.dto.UpdateSessionTitleResponse
910
import com.back.koreaTravelGuide.domain.ai.aiChat.service.AiChatService
11+
import org.springframework.http.ResponseEntity
1012
import org.springframework.web.bind.annotation.DeleteMapping
1113
import org.springframework.web.bind.annotation.GetMapping
1214
import org.springframework.web.bind.annotation.PatchMapping
@@ -25,61 +27,71 @@ class AiChatController(
2527
@GetMapping("/sessions")
2628
fun getSessions(
2729
@RequestParam userId: Long,
28-
): List<SessionsResponse> {
29-
return aiChatService.getSessions(userId).map {
30-
SessionsResponse(it.id!!, it.sessionTitle)
31-
}
30+
): ResponseEntity<ApiResponse<List<SessionsResponse>>> {
31+
val sessions =
32+
aiChatService.getSessions(userId).map {
33+
SessionsResponse(it.id!!, it.sessionTitle)
34+
}
35+
return ResponseEntity.ok(ApiResponse("채팅방 목록을 성공적으로 조회했습니다.", sessions))
3236
}
3337

3438
@PostMapping("/sessions")
3539
fun createSession(
3640
@RequestParam userId: Long,
37-
): SessionsResponse {
41+
): ResponseEntity<ApiResponse<SessionsResponse>> {
3842
val session = aiChatService.createSession(userId)
39-
return SessionsResponse(session.id!!, session.sessionTitle)
43+
val response = SessionsResponse(session.id!!, session.sessionTitle)
44+
return ResponseEntity.ok(ApiResponse("채팅방이 성공적으로 생성되었습니다.", response))
4045
}
4146

4247
@DeleteMapping("/sessions/{sessionId}")
4348
fun deleteSession(
4449
@PathVariable sessionId: Long,
4550
@RequestParam userId: Long,
46-
) {
51+
): ResponseEntity<ApiResponse<Unit>> {
4752
aiChatService.deleteSession(sessionId, userId)
53+
return ResponseEntity.ok(ApiResponse("채팅방이 성공적으로 삭제되었습니다."))
4854
}
4955

5056
@GetMapping("/sessions/{sessionId}/messages")
5157
fun getSessionMessages(
5258
@PathVariable sessionId: Long,
5359
@RequestParam userId: Long,
54-
): List<SessionMessagesResponse> {
60+
): ResponseEntity<ApiResponse<List<SessionMessagesResponse>>> {
5561
val messages = aiChatService.getSessionMessages(sessionId, userId)
56-
return messages.map {
57-
SessionMessagesResponse(it.content, it.senderType)
58-
}
62+
val response =
63+
messages.map {
64+
SessionMessagesResponse(it.content, it.senderType)
65+
}
66+
return ResponseEntity.ok(ApiResponse("채팅 메시지를 성공적으로 조회했습니다.", response))
5967
}
6068

6169
@PostMapping("/sessions/{sessionId}/messages")
6270
fun sendMessage(
6371
@PathVariable sessionId: Long,
6472
@RequestParam userId: Long,
6573
@RequestBody request: AiChatRequest,
66-
): AiChatResponse {
74+
): ResponseEntity<ApiResponse<AiChatResponse>> {
6775
val (userMessage, aiMessage) = aiChatService.sendMessage(sessionId, userId, request.message)
68-
return AiChatResponse(
69-
userMessage = userMessage.content,
70-
aiMessage = aiMessage.content,
71-
)
76+
val response =
77+
AiChatResponse(
78+
userMessage = userMessage.content,
79+
aiMessage = aiMessage.content,
80+
)
81+
return ResponseEntity.ok(ApiResponse("메시지가 성공적으로 전송되었습니다.", response))
7282
}
7383

7484
@PatchMapping("/sessions/{sessionId}/title")
7585
fun updateSessionTitle(
7686
@PathVariable sessionId: Long,
7787
@RequestParam userId: Long,
7888
@RequestBody request: UpdateSessionTitleRequest,
79-
): UpdateSessionTitleResponse {
89+
): ResponseEntity<ApiResponse<UpdateSessionTitleResponse>> {
8090
val updatedSession = aiChatService.updateSessionTitle(sessionId, userId, request.newTitle)
81-
return UpdateSessionTitleResponse(
82-
newTitle = updatedSession.sessionTitle,
83-
)
91+
val response =
92+
UpdateSessionTitleResponse(
93+
newTitle = updatedSession.sessionTitle,
94+
)
95+
return ResponseEntity.ok(ApiResponse("채팅방 제목이 성공적으로 수정되었습니다.", response))
8496
}
8597
}

0 commit comments

Comments
 (0)