-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feat/#28/채팅 비지니스 로직 개선 #32
The head ref may contain hidden characters: "feat/#28/\uCC44\uD305-\uBE44\uC9C0\uB2C8\uC2A4-\uB85C\uC9C1-\uAC1C\uC120-\uBC0F-\uACE0\uB3C4\uD654"
Conversation
노션에 설명을 잘해주셔서 채팅 로직이 전반적으로 어떻게 구성되고 진행되는지에 대해 알게되었습니다. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
로직엔 문제가 없어 보여요!
Controller에도 스웨거 어노테이션만 추가해주시면 될 것 같아요! 고생하셨습니다
@@ -22,6 +22,7 @@ public class ChatRoomController { | |||
private final ChatRoomService chatRoomService; | |||
|
|||
@PostMapping | |||
@Operation(summary = "채팅 방 생성") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tag 어노테이션을 이용해 Contoller 자체에도 설명을 추가할 수 있습니다!
다른 컨트롤러와 형식을 맞춰서 추가해주시면 감사하겠습니다!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
강혁, 석준님이 작성한 형식과 맞춰 설명 추가했습니다!
#28/채팅-비지니스-로직-개선-및-고도화
1. 무슨 이유로 코드를 변경했나요?
String lastMessage 필드 삭제 이유
ChatRoom
에LastMessage
가 있어야할까요..?나의 로직은 메시지를 보낼때마다
ChatRoom
의LastMessage
를 갱신하지 않는다.→ 위와 같은 로직은 메시지가 publish될 때마다
ChatRoom
에 SQL을 날려야한다. (즉 채팅 1번에 INSERT 1번) → 비효율적이라고 생각.또한
LastMessage
가 필요한 순간은 결국ChattingList
를 반환해야할 때따라서
ChatRoom
에는LastMessage
필드를 삭제하고ChattingList
를 요청할 때만 각 채팅방 최신 메시지를 조회해서 DTO에 심어 반환해주면 되지 않을까 하는 생각이다.채팅방 생성 시 존재하는 지 유효성 검사를 실시합니다.
채팅방 생성 API가 호출되는 전제 조건은 existChatRoom()를 호출하여 먼저 유효성 검사를 실시 후 호출하기로 되어있으나,
프론트와 연동 시 불편한 점이 있어 채팅방 생성 비지니스 로직 내부에 추가했습니다.
ErrorMessage와 ResponseMessage 네이밍 규칙 반영
BE 컨벤션으로 반환 상수는
변수명 + 행위
로 통일하기로 한 점을 반영했습니다.스웨거 설명 추가
컨트롤러에 대한 스웨거 설명 추가합니다.
2. 어떤 위험이나 장애를 발견했나요?
3. 관련 스크린샷을 첨부해주세요.
4. 완료 사항
채팅방 관련 내용 노션으로 정리했습니다.
채팅방 정리
5. 추가 사항