Skip to content

Commit 8017b57

Browse files
Merge pull request #43 from prgrms-web-devcourse-final-project/feature/EA3-73-groupchat-api
[EA3-73] feature : 그룹채팅 스웨거 builder로 리팩토링
2 parents f1cc2c0 + 882ff26 commit 8017b57

File tree

3 files changed

+18
-32
lines changed

3 files changed

+18
-32
lines changed

src/main/java/grep/neogul_coder/domain/groupchat/controller/GroupChatSwaggerController.java

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,26 +12,22 @@
1212
@RequestMapping("/ws-stomp")
1313
public class GroupChatSwaggerController implements GroupChatSwaggerSpecification {
1414

15+
1516
@PostMapping("/pub/chat/message")
1617
@Override
17-
public ApiResponse<GroupChatSwaggerResponse> sendMessage(@RequestBody GroupChatSwaggerRequest request) {
18-
GroupChatSwaggerResponse response = GroupChatSwaggerResponse.of(
19-
request.getSenderId(),
20-
"강현",
21-
"https://ganghyeon.jpg",
22-
request.getRoomId(),
23-
request.getMessage(),
24-
LocalDateTime.now()
25-
);
18+
public ApiResponse<GroupChatSwaggerResponse> sendMessage(
19+
@RequestBody GroupChatSwaggerRequest request) {
20+
GroupChatSwaggerResponse response = GroupChatSwaggerResponse.builder().build();
2621
return ApiResponse.success(response);
2722
}
2823

24+
2925
@GetMapping("/sub/chat/room/{roomId}")
3026
@Override
3127
public ApiResponse<List<GroupChatSwaggerResponse>> getMessages(@PathVariable Long roomId) {
3228
List<GroupChatSwaggerResponse> messages = List.of(
33-
GroupChatSwaggerResponse.of(1L, "강현", "https://ganghyeon.jpg", roomId, "안녕하세요!", LocalDateTime.now().minusMinutes(2)),
34-
GroupChatSwaggerResponse.of(2L, "강민", "https://gangmin.jpg", roomId, "반갑습니다!", LocalDateTime.now().minusMinutes(1))
29+
GroupChatSwaggerResponse.builder().build(),
30+
GroupChatSwaggerResponse.builder().build()
3531
);
3632
return ApiResponse.success(messages);
3733
}
Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,25 @@
11
package grep.neogul_coder.domain.groupchat.controller.dto;
22

33
import io.swagger.v3.oas.annotations.media.Schema;
4+
import lombok.Getter;
45

6+
@Getter
57
@Schema(description = "Swagger용 채팅 메시지 전송 요청 DTO")
68
public class GroupChatSwaggerRequest {
79

8-
@Schema(description = "보낸 사람 ID", example = "3")
10+
@Schema(description = "보낸 사람 ID", example = "456")
911
private Long senderId;
1012

11-
@Schema(description = "채팅방 ID", example = "101")
13+
@Schema(description = "채팅방 ID", example = "100")
1214
private Long roomId;
1315

1416
@Schema(description = "보낼 메시지", example = "안녕하세요!")
1517
private String message;
1618

1719

18-
19-
public Long getSenderId() { return senderId; }
2020
public void setSenderId(Long senderId) { this.senderId = senderId; }
2121

22-
public Long getRoomId() { return roomId; }
2322
public void setRoomId(Long roomId) { this.roomId = roomId; }
2423

25-
public String getMessage() { return message; }
2624
public void setMessage(String message) { this.message = message; }
2725
}

src/main/java/grep/neogul_coder/domain/groupchat/controller/dto/GroupChatSwaggerResponse.java

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,14 @@
22

33
import io.swagger.v3.oas.annotations.media.Schema;
44
import java.time.LocalDateTime;
5+
import lombok.Builder;
6+
import lombok.Getter;
57

8+
@Getter
69
@Schema(description = "Swagger용 채팅 메시지 응답 DTO")
710
public class GroupChatSwaggerResponse {
811

9-
@Schema(description = "보낸 사람 ID", example = "1")
12+
@Schema(description = "보낸 사람 ID", example = "456")
1013
private Long senderId;
1114

1215
@Schema(description = "보낸 사람 닉네임", example = "강현")
@@ -15,7 +18,7 @@ public class GroupChatSwaggerResponse {
1518
@Schema(description = "프로필 이미지 URL", example = "https://ganghyeon.jpg")
1619
private String profileImageUrl;
1720

18-
@Schema(description = "채팅방 ID", example = "101")
21+
@Schema(description = "채팅방 ID", example = "100")
1922
private Long roomId;
2023

2124
@Schema(description = "보낸 메시지", example = "안녕하세요!")
@@ -24,24 +27,13 @@ public class GroupChatSwaggerResponse {
2427
@Schema(description = "보낸 시간", example = "2025-07-07T17:45:00")
2528
private LocalDateTime sentAt;
2629

27-
public GroupChatSwaggerResponse(Long senderId, String senderNickname, String profileImageUrl, Long roomId, String message, LocalDateTime sentAt) {
30+
@Builder
31+
private GroupChatSwaggerResponse(Long senderId, String senderNickname, String profileImageUrl, Long roomId, String message, LocalDateTime sentAt) {
2832
this.senderId = senderId;
2933
this.senderNickname = senderNickname;
3034
this.profileImageUrl = profileImageUrl;
3135
this.roomId = roomId;
3236
this.message = message;
3337
this.sentAt = sentAt;
3438
}
35-
36-
public static GroupChatSwaggerResponse of(Long senderId, String nickname, String profileUrl, Long roomId, String message, LocalDateTime time) {
37-
return new GroupChatSwaggerResponse(senderId, nickname, profileUrl, roomId, message, time);
38-
}
39-
40-
41-
public Long getSenderId() { return senderId; }
42-
public String getSenderNickname() { return senderNickname; }
43-
public String getProfileImageUrl() { return profileImageUrl; }
44-
public Long getRoomId() { return roomId; }
45-
public String getMessage() { return message; }
46-
public LocalDateTime getSentAt() { return sentAt; }
4739
}

0 commit comments

Comments
 (0)