Chat


<aside>

채팅방 리스트 ⇒ 읽었는지 넘겨주기

HTTP request

GET /chat

HTTP response

{
	"status" : 200,
	"message" : "OK",
	"data" : {
		"user": 
      {
      "id": 1,
      "nickname": "test",
      "img": "<https://아마존S3/이미지_128x128.webp>",
      "valid": "IN",
      "readMsgId": 1,
      "isStory": true
      },
	  "roomId" : 1,
	  "nickname" : "user_nickname",
	  "msg" : "안녕하세요. 반갑습니다.",
	  "updatedAt" : "1초 전",
	  "hasRead": true
	} 
}

</aside>

<aside>

채팅방 메세지 리스트 ⇒ createdAt 변경해서보내주기

HTTP request

GET /chat/{roomId} or /chat/{roomId}/{offset}  // roomId : Long, offset : Long

HTTP response

{
	"status" : 200,
	"message" : "OK",
	"data" : " {
		"msgList" : [ {
		  "msgId" : 1,
		  "userId" : 1,
		  "content" : "안녕하세요. 반갑습니다.",
		  "replyMsgId" : 1,
		  "createdAt" : "2025-04-25 10:20:30.12345"
	  } ]
	  "loginId": 1
	} "
}

</aside>

<aside>

채팅 상대 정보

HTTP request

GET /chat/users/{roomId}  // roomId : Long

HTTP response

{
	"status" : 200,
	"message" : "OK",
	"data" : " {
		"id": 1,
		"img": "image",
		"nickname": "nickname",
		"readMsgId": 1,
		"valid": IN,
		"isStory": true
	} "
}

</aside>

<aside>

새로운 채팅방 생성 ⇒ roomId 리턴 후 /chatRoom/:roomId로 이동

HTTP request

POST /chat/room/{joinUserId}  // joinUserId : Long

HTTP response

{
	"status" : 200,
	"message" : "OK",
	"data" : " {
		"user": {
			"id": 1,
			"img": "image",
			"nickname": "nickname",
			"readMsgId": 1,
			"valid": IN,
			"isStory": true
		},
		"roomId": 1,
		"msg": "새로운 채팅방이 생성되었습니다.",
		"updatedAt": "1초전",
		"hasRead": true
	} "
}

</aside>

<aside>

메시지 전송 ⇒ data성공메세지 담아주기

HTTP request

POST /chat/sendMsg

body : {
	"roomId" : 1,
	"content" : "메시지 전송합니다!",
	"replyMsgId" : 1
}

HTTP response

{
	"status" : 200,
	"message" : "OK",
	"data" : "메시지 전송 성공"
}

</aside>

<aside>

메세지 읽음 처리⇒ data성공메세지 담아주기

HTTP request

PUT /chat/user/{roomId}  // roomId : Long

HTTP response

{
	"status" : 200,
	"message" : "OK",
	"data" : "메시지 읽음 처리"
}

</aside>

<aside>

채팅방 나가기⇒ data성공메세지 담아주기

HTTP request

PUT /chat/exit/{roomId}  // roomId : Long

HTTP response

{
	"status" : 200,
	"message" : "OK",
	"data" : ""
}

</aside>