diff --git a/src/main/java/com/manchui/domain/dto/chat/ChatMessageSliceResponse.java b/src/main/java/com/manchui/domain/dto/chat/ChatMessageSliceResponse.java index 29ce3c3..2210405 100644 --- a/src/main/java/com/manchui/domain/dto/chat/ChatMessageSliceResponse.java +++ b/src/main/java/com/manchui/domain/dto/chat/ChatMessageSliceResponse.java @@ -11,4 +11,5 @@ public class ChatMessageSliceResponse { private List chatMessageResponseList; private Boolean hasNext; + private String nextCursor; } diff --git a/src/main/java/com/manchui/domain/service/ChatMessageService.java b/src/main/java/com/manchui/domain/service/ChatMessageService.java index a6e973f..929e66a 100644 --- a/src/main/java/com/manchui/domain/service/ChatMessageService.java +++ b/src/main/java/com/manchui/domain/service/ChatMessageService.java @@ -91,6 +91,10 @@ public Mono findChatList(CustomUserDetails customUserD .map(messages -> { // limit + 1개 중 실제 limit개만 표시하고, 나머지 1개로 hasNext 판단 boolean hasNext = messages.size() > limit; + String nextCursor = null; + if(hasNext){ + nextCursor = messages.get(limit - 1).get_id(); + } List content = messages.stream().limit(limit) .map(chatMessage -> new ChatMessageResponse( @@ -101,7 +105,7 @@ public Mono findChatList(CustomUserDetails customUserD chatMessage.getCreatedAt() )).collect(Collectors.toList()); - return new ChatMessageSliceResponse(content, hasNext); + return new ChatMessageSliceResponse(content, hasNext, nextCursor); }); } }