diff --git a/src/main/java/com/mr/domain/notification/dto/res/NotificationListResponseDTO.java b/src/main/java/com/mr/domain/notification/dto/res/NotificationListResponseDTO.java index a0ccb3fd..7ff62495 100644 --- a/src/main/java/com/mr/domain/notification/dto/res/NotificationListResponseDTO.java +++ b/src/main/java/com/mr/domain/notification/dto/res/NotificationListResponseDTO.java @@ -1,6 +1,7 @@ package com.mr.domain.notification.dto.res; import com.mr.domain.notification.entity.Notification; +import com.mr.domain.notification.exception.NotificationErrorStatus; import com.mr.global.apipayload.exception.GeneralException; import com.mr.global.event.NotificationEvent; import lombok.extern.slf4j.Slf4j; @@ -19,6 +20,20 @@ public record NotificationListResponseDTO ( ){ public static NotificationListResponseDTO of(Slice notificationSlice) { + if (notificationSlice == null) { + throw new GeneralException(NotificationErrorStatus.INVALID_NOTIFICATION_FORMAT); + } + + if (!notificationSlice.hasContent()) { + return new NotificationListResponseDTO( + java.util.Collections.emptyList(), + 0, + notificationSlice.hasNext(), + notificationSlice.isFirst(), + notificationSlice.isLast() + ); + } + List notificationDTOList = notificationSlice.getContent().stream() .map(notification -> { try {