Skip to content

Commit 6b4a402

Browse files
committed
feat(be) : WebSocket 컨트롤러 추가
1 parent 6f9c7c9 commit 6b4a402

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.back.koreaTravelGuide.domain.userChat.chatmessage.controller
2+
3+
import com.back.koreaTravelGuide.common.ApiResponse
4+
import com.back.koreaTravelGuide.domain.userChat.chatmessage.service.ChatMessageService
5+
import org.springframework.messaging.handler.annotation.DestinationVariable
6+
import org.springframework.messaging.handler.annotation.MessageMapping
7+
import org.springframework.messaging.handler.annotation.Payload
8+
import org.springframework.messaging.simp.SimpMessagingTemplate
9+
import org.springframework.stereotype.Controller
10+
11+
@Controller
12+
class ChatMessageSocketController(
13+
private val chatMessageService: ChatMessageService,
14+
private val messagingTemplate: SimpMessagingTemplate,
15+
) {
16+
@MessageMapping("/userchat/{roomId}/messages")
17+
fun handleMessage(
18+
@DestinationVariable roomId: Long,
19+
@Payload req: ChatMessageService.SendMessageReq,
20+
) {
21+
val saved = chatMessageService.send(roomId, req)
22+
messagingTemplate.convertAndSend(
23+
"/topic/userchat/$roomId",
24+
ApiResponse(msg = "메시지 전송", data = saved),
25+
)
26+
}
27+
}

0 commit comments

Comments
 (0)