room.ftl
/chat/room api 호출
ChatRoomController
createRoom() 호출
ChatRoomRepository
hashOpsChatRoom
에 put (”chat_rooms”, room id, chatRoom
:instance) (레디스)chatRoom
반환room.ftl
성공하면 모든 방 목록 찾아서 보여줌
room.ftl
/room/enter/{roomId} 호출, roomdetail.ftl
로 이동ChatRoomController
에서 현재 로그인된 유저의 이름, 토큰이 담긴 LogInfo 반환roomdetail.ftl
에서 /sub/chat/room/{roomId}
subscribe (저 경로로 들어오는 데이터를 받아서 기존의 message 리스트에 추가)
<aside>
🔥 내가 친 채팅
은 ws.send
(”/pub
/chat/message”, {token}, {message}) 로 보내지고
</aside>
<aside>
🔥 상대방이 보낸 채팅
은 구독할 때 사용한 ws.subcribe
(“/sub
/chat/room/{romId}”)를 통해 자동으로 추가됨
</aside>
roomdetail.ftl
에서 /pub/chat/message
send
setApplicationDestinationPrefixes
로 등록되어 있기 때문에 @MessageMapping으로 이어짐ChatController
@MessageMapping("/chat/message")
**어노테이션을 단 message 함수 실행
chatService
에서 어캐저캐 전송함