From 7addf2108016b1a2aebf41f68693cbcb61da4d2f Mon Sep 17 00:00:00 2001 From: JunsuPark Date: Fri, 20 Sep 2024 14:50:05 +0900 Subject: [PATCH] =?UTF-8?q?fix=20:=20cursor=20=EC=9D=91=EB=8B=B5=20?= =?UTF-8?q?=EC=8A=A4=ED=82=A4=EB=A7=88=20=EB=B3=80=EA=B2=BD=20(#174)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/response/CursorApiResponse.java | 11 +++++++- .../dto/response/PaginationApiResponse.java | 9 ++++-- .../artist/controller/ArtistController.java | 17 +++++++++++ .../param/ArtistSearchPaginationApiParam.java | 8 +++--- .../ArtistSubscriptionPaginationApiParam.java | 12 ++++---- ...rtistUnsubscriptionPaginationApiParam.java | 8 +++--- .../genre/controller/GenreController.java | 17 +++++++++++ .../dto/param/GenrePaginationApiParam.java | 8 +++--- .../GenreSubscriptionPaginationApiParam.java | 8 +++--- ...GenreUnsubscriptionPaginationApiParam.java | 8 +++--- .../show/controller/ShowController.java | 13 ++++++++- .../show/controller/UserShowController.java | 28 +++++++++++++++---- .../param/ShowAlertPaginationApiParam.java | 9 ++---- .../param/ShowSearchPaginationApiParam.java | 8 +++--- .../InterestShowPaginationApiResponse.java | 7 +---- .../dto/response/ShowPaginationApiParam.java | 8 +++--- 16 files changed, 121 insertions(+), 58 deletions(-) diff --git a/app/api/common-api/src/main/java/org/example/dto/response/CursorApiResponse.java b/app/api/common-api/src/main/java/org/example/dto/response/CursorApiResponse.java index ad9a17a4..ceeaba1f 100644 --- a/app/api/common-api/src/main/java/org/example/dto/response/CursorApiResponse.java +++ b/app/api/common-api/src/main/java/org/example/dto/response/CursorApiResponse.java @@ -1,6 +1,7 @@ package org.example.dto.response; import io.swagger.v3.oas.annotations.media.Schema; +import java.util.List; import java.util.UUID; public record CursorApiResponse( @@ -11,12 +12,20 @@ public record CursorApiResponse( @Schema(description = "조회한 데이터의 Cursor Value") Object value ) { + public static CursorApiResponse toCursorResponse(UUID id, Object value) { return new CursorApiResponse(id, value); } public static CursorApiResponse toCursorId(UUID id) { - return new CursorApiResponse(id, ""); + return new CursorApiResponse(id, null); + } + + public static CursorApiResponse noneCursor() { + return new CursorApiResponse(null, null); } + public static T getLastElement(List list) { + return list.isEmpty() ? null : list.get(list.size() - 1); + } } diff --git a/app/api/common-api/src/main/java/org/example/dto/response/PaginationApiResponse.java b/app/api/common-api/src/main/java/org/example/dto/response/PaginationApiResponse.java index 478cc706..33763987 100644 --- a/app/api/common-api/src/main/java/org/example/dto/response/PaginationApiResponse.java +++ b/app/api/common-api/src/main/java/org/example/dto/response/PaginationApiResponse.java @@ -10,14 +10,17 @@ public record PaginationApiResponse( @Schema(description = "다음 조회 가능 여부") boolean hasNext, @Schema(description = "조회 데이터") - List data + List data, + @Schema(description = "조회 데이터의 cursor") + CursorApiResponse cursor ) { @Builder public PaginationApiResponse( List data, - boolean hasNext + boolean hasNext, + CursorApiResponse cursor ) { - this(data.size(), hasNext, data); + this(data.size(), hasNext, data, cursor); } } diff --git a/app/api/show-api/src/main/java/com/example/artist/controller/ArtistController.java b/app/api/show-api/src/main/java/com/example/artist/controller/ArtistController.java index a5d63723..f0895676 100644 --- a/app/api/show-api/src/main/java/com/example/artist/controller/ArtistController.java +++ b/app/api/show-api/src/main/java/com/example/artist/controller/ArtistController.java @@ -17,8 +17,10 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; +import java.util.Optional; import java.util.UUID; import lombok.RequiredArgsConstructor; +import org.example.dto.response.CursorApiResponse; import org.example.dto.response.PaginationApiResponse; import org.example.security.dto.AuthenticatedInfo; import org.example.util.ValidatorUser; @@ -52,10 +54,15 @@ public ResponseEntity CursorApiResponse.toCursorId(element.id())) + .orElse(CursorApiResponse.noneCursor()); + return ResponseEntity.ok( PaginationApiResponse.builder() .hasNext(response.hasNext()) .data(data) + .cursor(cursor) .build() ); } @@ -73,10 +80,15 @@ public ResponseEntity CursorApiResponse.toCursorId(element.id())) + .orElse(CursorApiResponse.noneCursor()); + return ResponseEntity.ok( PaginationApiResponse.builder() .hasNext(response.hasNext()) .data(data) + .cursor(cursor) .build() ); } @@ -131,10 +143,15 @@ public ResponseEntity> sea .map(ArtistSearchPaginationApiParam::from) .toList(); + CursorApiResponse cursor = Optional.ofNullable(CursorApiResponse.getLastElement(data)) + .map(element -> CursorApiResponse.toCursorId(element.id())) + .orElse(CursorApiResponse.noneCursor()); + return ResponseEntity.ok( PaginationApiResponse.builder() .hasNext(response.hasNext()) .data(data) + .cursor(cursor) .build() ); } diff --git a/app/api/show-api/src/main/java/com/example/artist/controller/dto/param/ArtistSearchPaginationApiParam.java b/app/api/show-api/src/main/java/com/example/artist/controller/dto/param/ArtistSearchPaginationApiParam.java index 3a4bc2d7..c7c1f26f 100644 --- a/app/api/show-api/src/main/java/com/example/artist/controller/dto/param/ArtistSearchPaginationApiParam.java +++ b/app/api/show-api/src/main/java/com/example/artist/controller/dto/param/ArtistSearchPaginationApiParam.java @@ -2,11 +2,11 @@ import com.example.artist.service.dto.param.ArtistSearchPaginationServiceParam; import io.swagger.v3.oas.annotations.media.Schema; -import org.example.dto.response.CursorApiResponse; +import java.util.UUID; public record ArtistSearchPaginationApiParam( - @Schema(description = "조회한 데이터의 Cursor") - CursorApiResponse cursor, + @Schema(description = "아티스트 ID") + UUID id, @Schema(description = "아티스트 이미지 URL") String imageURL, @@ -23,7 +23,7 @@ public record ArtistSearchPaginationApiParam( public static ArtistSearchPaginationApiParam from(ArtistSearchPaginationServiceParam param) { return new ArtistSearchPaginationApiParam( - CursorApiResponse.toCursorId(param.artistId()), + param.artistId(), param.artistImageUrl(), param.artistKoreanName(), param.artistEnglishName(), diff --git a/app/api/show-api/src/main/java/com/example/artist/controller/dto/param/ArtistSubscriptionPaginationApiParam.java b/app/api/show-api/src/main/java/com/example/artist/controller/dto/param/ArtistSubscriptionPaginationApiParam.java index 9181f5c6..348d90a8 100644 --- a/app/api/show-api/src/main/java/com/example/artist/controller/dto/param/ArtistSubscriptionPaginationApiParam.java +++ b/app/api/show-api/src/main/java/com/example/artist/controller/dto/param/ArtistSubscriptionPaginationApiParam.java @@ -2,11 +2,11 @@ import com.example.artist.service.dto.param.ArtistSubscriptionPaginationServiceParam; import io.swagger.v3.oas.annotations.media.Schema; -import org.example.dto.response.CursorApiResponse; +import java.util.UUID; public record ArtistSubscriptionPaginationApiParam( - @Schema(description = "조회한 데이터의 Cursor") - CursorApiResponse cursor, + @Schema(description = "아티스트 ID") + UUID id, @Schema(description = "아티스트 이미지 URL") String imageURL, @Schema(description = "아티스트 한글 이름") @@ -15,11 +15,9 @@ public record ArtistSubscriptionPaginationApiParam( String englishName ) { - public static ArtistSubscriptionPaginationApiParam from( - ArtistSubscriptionPaginationServiceParam param - ) { + public static ArtistSubscriptionPaginationApiParam from(ArtistSubscriptionPaginationServiceParam param) { return new ArtistSubscriptionPaginationApiParam( - CursorApiResponse.toCursorId(param.artistId()), + param.artistId(), param.artistImageUrl(), param.artistKoreanName(), param.artistEnglishName() diff --git a/app/api/show-api/src/main/java/com/example/artist/controller/dto/param/ArtistUnsubscriptionPaginationApiParam.java b/app/api/show-api/src/main/java/com/example/artist/controller/dto/param/ArtistUnsubscriptionPaginationApiParam.java index 00310950..84644e0d 100644 --- a/app/api/show-api/src/main/java/com/example/artist/controller/dto/param/ArtistUnsubscriptionPaginationApiParam.java +++ b/app/api/show-api/src/main/java/com/example/artist/controller/dto/param/ArtistUnsubscriptionPaginationApiParam.java @@ -2,11 +2,11 @@ import com.example.artist.service.dto.param.ArtistUnsubscriptionPaginationServiceParam; import io.swagger.v3.oas.annotations.media.Schema; -import org.example.dto.response.CursorApiResponse; +import java.util.UUID; public record ArtistUnsubscriptionPaginationApiParam( - @Schema(description = "조회한 데이터의 Cursor") - CursorApiResponse cursor, + @Schema(description = "아티스트 ID") + UUID id, @Schema(description = "아티스트 이미지 URL") String imageURL, @Schema(description = "아티스트 한글 이름") @@ -19,7 +19,7 @@ public static ArtistUnsubscriptionPaginationApiParam from( ArtistUnsubscriptionPaginationServiceParam param ) { return new ArtistUnsubscriptionPaginationApiParam( - CursorApiResponse.toCursorId(param.artistId()), + param.artistId(), param.artistImageUrl(), param.artistKoreanName(), param.artistEnglishName() diff --git a/app/api/show-api/src/main/java/com/example/genre/controller/GenreController.java b/app/api/show-api/src/main/java/com/example/genre/controller/GenreController.java index 56544cac..e0c00816 100644 --- a/app/api/show-api/src/main/java/com/example/genre/controller/GenreController.java +++ b/app/api/show-api/src/main/java/com/example/genre/controller/GenreController.java @@ -15,8 +15,10 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; +import java.util.Optional; import java.util.UUID; import lombok.RequiredArgsConstructor; +import org.example.dto.response.CursorApiResponse; import org.example.dto.response.PaginationApiResponse; import org.example.security.dto.AuthenticatedInfo; import org.example.util.ValidatorUser; @@ -49,10 +51,15 @@ public ResponseEntity> getGenres( .map(GenrePaginationApiParam::new) .toList(); + CursorApiResponse cursor = Optional.ofNullable(CursorApiResponse.getLastElement(data)) + .map(element -> CursorApiResponse.toCursorId(element.id())) + .orElse(CursorApiResponse.noneCursor()); + return ResponseEntity.ok( PaginationApiResponse.builder() .hasNext(response.hasNext()) .data(data) + .cursor(cursor) .build() ); } @@ -70,10 +77,15 @@ public ResponseEntity CursorApiResponse.toCursorId(element.id())) + .orElse(CursorApiResponse.noneCursor()); + return ResponseEntity.ok( PaginationApiResponse.builder() .hasNext(response.hasNext()) .data(data) + .cursor(cursor) .build() ); } @@ -91,10 +103,15 @@ public ResponseEntity .map(GenreSubscriptionPaginationApiParam::new) .toList(); + CursorApiResponse cursor = Optional.ofNullable(CursorApiResponse.getLastElement(data)) + .map(element -> CursorApiResponse.toCursorId(element.id())) + .orElse(CursorApiResponse.noneCursor()); + return ResponseEntity.ok( PaginationApiResponse.builder() .hasNext(response.hasNext()) .data(data) + .cursor(cursor) .build() ); } diff --git a/app/api/show-api/src/main/java/com/example/genre/controller/dto/param/GenrePaginationApiParam.java b/app/api/show-api/src/main/java/com/example/genre/controller/dto/param/GenrePaginationApiParam.java index f525f9e1..84c2e16c 100644 --- a/app/api/show-api/src/main/java/com/example/genre/controller/dto/param/GenrePaginationApiParam.java +++ b/app/api/show-api/src/main/java/com/example/genre/controller/dto/param/GenrePaginationApiParam.java @@ -2,12 +2,12 @@ import com.example.genre.service.dto.param.GenrePaginationServiceParam; import io.swagger.v3.oas.annotations.media.Schema; -import org.example.dto.response.CursorApiResponse; +import java.util.UUID; public record GenrePaginationApiParam( - @Schema(description = "조회한 데이터의 Cursor") - CursorApiResponse cursor, + @Schema(description = "장르 ID") + UUID id, @Schema(description = "장르 이름") String name, @@ -18,7 +18,7 @@ public record GenrePaginationApiParam( public GenrePaginationApiParam(GenrePaginationServiceParam param) { this( - CursorApiResponse.toCursorId(param.id()), + param.id(), param.name(), param.isSubscribed() ); diff --git a/app/api/show-api/src/main/java/com/example/genre/controller/dto/param/GenreSubscriptionPaginationApiParam.java b/app/api/show-api/src/main/java/com/example/genre/controller/dto/param/GenreSubscriptionPaginationApiParam.java index 73ad0f61..16888701 100644 --- a/app/api/show-api/src/main/java/com/example/genre/controller/dto/param/GenreSubscriptionPaginationApiParam.java +++ b/app/api/show-api/src/main/java/com/example/genre/controller/dto/param/GenreSubscriptionPaginationApiParam.java @@ -2,11 +2,11 @@ import com.example.genre.service.dto.param.GenreSubscriptionPaginationServiceParam; import io.swagger.v3.oas.annotations.media.Schema; -import org.example.dto.response.CursorApiResponse; +import java.util.UUID; public record GenreSubscriptionPaginationApiParam( - @Schema(description = "조회한 데이터의 Cursor") - CursorApiResponse cursor, + @Schema(description = "장르 ID") + UUID id, @Schema(description = "장르 이름") String name @@ -16,7 +16,7 @@ public GenreSubscriptionPaginationApiParam( GenreSubscriptionPaginationServiceParam response ) { this( - CursorApiResponse.toCursorId(response.id()), + response.id(), response.name() ); } diff --git a/app/api/show-api/src/main/java/com/example/genre/controller/dto/param/GenreUnsubscriptionPaginationApiParam.java b/app/api/show-api/src/main/java/com/example/genre/controller/dto/param/GenreUnsubscriptionPaginationApiParam.java index 9f198bad..8fe677fd 100644 --- a/app/api/show-api/src/main/java/com/example/genre/controller/dto/param/GenreUnsubscriptionPaginationApiParam.java +++ b/app/api/show-api/src/main/java/com/example/genre/controller/dto/param/GenreUnsubscriptionPaginationApiParam.java @@ -2,11 +2,11 @@ import com.example.genre.service.dto.param.GenreUnsubscriptionPaginationServiceParam; import io.swagger.v3.oas.annotations.media.Schema; -import org.example.dto.response.CursorApiResponse; +import java.util.UUID; public record GenreUnsubscriptionPaginationApiParam( - @Schema(description = "조회한 데이터의 Cursor") - CursorApiResponse cursor, + @Schema(description = "장르 ID") + UUID id, @Schema(description = "장르 이름") String name @@ -16,7 +16,7 @@ public GenreUnsubscriptionPaginationApiParam( GenreUnsubscriptionPaginationServiceParam response ) { this( - CursorApiResponse.toCursorId(response.id()), + response.id(), response.name() ); } diff --git a/app/api/show-api/src/main/java/com/example/show/controller/ShowController.java b/app/api/show-api/src/main/java/com/example/show/controller/ShowController.java index 055dd4ca..369543e8 100644 --- a/app/api/show-api/src/main/java/com/example/show/controller/ShowController.java +++ b/app/api/show-api/src/main/java/com/example/show/controller/ShowController.java @@ -9,8 +9,10 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; +import java.util.Optional; import java.util.UUID; import lombok.RequiredArgsConstructor; +import org.example.dto.response.CursorApiResponse; import org.example.dto.response.PaginationApiResponse; import org.example.security.dto.AuthenticatedInfo; import org.example.util.ValidatorUser; @@ -41,10 +43,15 @@ public ResponseEntity> getShows( .map(ShowPaginationApiParam::from) .toList(); + CursorApiResponse cursor = Optional.ofNullable(CursorApiResponse.getLastElement(data)) + .map(element -> CursorApiResponse.toCursorId(element.id())) + .orElse(CursorApiResponse.noneCursor()); + return ResponseEntity.ok( PaginationApiResponse.builder() .data(data) .hasNext(response.hasNext()) + .cursor(cursor) .build() ); } @@ -69,15 +76,19 @@ public ResponseEntity> searc @Valid @ParameterObject ShowSearchPaginationApiRequest request ) { var response = showService.searchShow(request.toServiceRequest()); - var data = response.data().stream() .map(ShowSearchPaginationApiParam::from) .toList(); + CursorApiResponse cursor = Optional.ofNullable(CursorApiResponse.getLastElement(data)) + .map(element -> CursorApiResponse.toCursorId(element.id())) + .orElse(CursorApiResponse.noneCursor()); + return ResponseEntity.ok( PaginationApiResponse.builder() .hasNext(response.hasNext()) .data(data) + .cursor(cursor) .build() ); } diff --git a/app/api/show-api/src/main/java/com/example/show/controller/UserShowController.java b/app/api/show-api/src/main/java/com/example/show/controller/UserShowController.java index f8712602..2a8220f9 100644 --- a/app/api/show-api/src/main/java/com/example/show/controller/UserShowController.java +++ b/app/api/show-api/src/main/java/com/example/show/controller/UserShowController.java @@ -18,9 +18,10 @@ import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; import java.time.LocalDateTime; -import java.util.List; +import java.util.Optional; import java.util.UUID; import lombok.RequiredArgsConstructor; +import org.example.dto.response.CursorApiResponse; import org.example.dto.response.PaginationApiResponse; import org.example.security.dto.AuthenticatedInfo; import org.springdoc.core.annotations.ParameterObject; @@ -91,15 +92,23 @@ public ResponseEntity> var serviceResponse = userShowService.findInterestShows( request.toServiceRequest(info.userId()) ); - - List response = serviceResponse.data().stream() + var response = serviceResponse.data().stream() .map(InterestShowPaginationApiResponse::from) .toList(); + CursorApiResponse cursor = Optional.ofNullable(CursorApiResponse.getLastElement(serviceResponse.data())) + .map(element -> CursorApiResponse.toCursorResponse( + element.interestShowId(), + element.interestedAt() + ) + ) + .orElse(CursorApiResponse.noneCursor()); + return ResponseEntity.ok( PaginationApiResponse.builder() .data(response) .hasNext(serviceResponse.hasNext()) + .cursor(cursor) .build() ); } @@ -146,14 +155,23 @@ public ResponseEntity> getAle var alertShows = userShowService.findAlertShows( request.toServiceRequest(info.userId()) ); - var showAlertPaginationApiParams = alertShows.data().stream() + var response = alertShows.data().stream() .map(ShowAlertPaginationApiParam::from) .toList(); + CursorApiResponse cursor = Optional.ofNullable(CursorApiResponse.getLastElement(alertShows.data())) + .map(element -> CursorApiResponse.toCursorResponse( + element.showTicketingTimeId(), + element.ticketingAt() + ) + ) + .orElse(CursorApiResponse.noneCursor()); + return ResponseEntity.ok( PaginationApiResponse.builder() - .data(showAlertPaginationApiParams) + .data(response) .hasNext(alertShows.hasNext()) + .cursor(cursor) .build() ); } diff --git a/app/api/show-api/src/main/java/com/example/show/controller/dto/param/ShowAlertPaginationApiParam.java b/app/api/show-api/src/main/java/com/example/show/controller/dto/param/ShowAlertPaginationApiParam.java index 85219b2e..5e127660 100644 --- a/app/api/show-api/src/main/java/com/example/show/controller/dto/param/ShowAlertPaginationApiParam.java +++ b/app/api/show-api/src/main/java/com/example/show/controller/dto/param/ShowAlertPaginationApiParam.java @@ -3,7 +3,6 @@ import com.example.show.service.dto.param.ShowAlertPaginationServiceParam; import io.swagger.v3.oas.annotations.media.Schema; import java.util.UUID; -import org.example.dto.response.CursorApiResponse; import org.example.util.DateTimeUtil; public record ShowAlertPaginationApiParam( @@ -26,10 +25,7 @@ public record ShowAlertPaginationApiParam( String location, @Schema(description = "공연 이미지 URL") - String imageURL, - - @Schema(description = "조회한 데이터의 Cursor") - CursorApiResponse cursor + String imageURL ) { public static ShowAlertPaginationApiParam from(ShowAlertPaginationServiceParam serviceParam) { @@ -40,8 +36,7 @@ public static ShowAlertPaginationApiParam from(ShowAlertPaginationServiceParam s DateTimeUtil.formatDate(serviceParam.endAt()), DateTimeUtil.formatDateTime(serviceParam.ticketingAt()), serviceParam.location(), - serviceParam.image(), - CursorApiResponse.toCursorResponse(serviceParam.showTicketingTimeId(), serviceParam.ticketingAt()) + serviceParam.image() ); } } diff --git a/app/api/show-api/src/main/java/com/example/show/controller/dto/param/ShowSearchPaginationApiParam.java b/app/api/show-api/src/main/java/com/example/show/controller/dto/param/ShowSearchPaginationApiParam.java index 89430256..559e98ca 100644 --- a/app/api/show-api/src/main/java/com/example/show/controller/dto/param/ShowSearchPaginationApiParam.java +++ b/app/api/show-api/src/main/java/com/example/show/controller/dto/param/ShowSearchPaginationApiParam.java @@ -2,12 +2,12 @@ import com.example.show.service.dto.param.ShowSearchPaginationServiceParam; import io.swagger.v3.oas.annotations.media.Schema; -import org.example.dto.response.CursorApiResponse; +import java.util.UUID; import org.example.util.DateTimeUtil; public record ShowSearchPaginationApiParam( - @Schema(description = "조회한 데이터의 Cursor") - CursorApiResponse cursor, + @Schema(description = "공연 ID") + UUID id, @Schema(description = "공연 제목") String title, @@ -27,7 +27,7 @@ public record ShowSearchPaginationApiParam( public static ShowSearchPaginationApiParam from(ShowSearchPaginationServiceParam serviceParam) { return new ShowSearchPaginationApiParam( - CursorApiResponse.toCursorId(serviceParam.id()), + serviceParam.id(), serviceParam.title(), DateTimeUtil.formatDate(serviceParam.startAt()), DateTimeUtil.formatDate(serviceParam.endAt()), diff --git a/app/api/show-api/src/main/java/com/example/show/controller/dto/response/InterestShowPaginationApiResponse.java b/app/api/show-api/src/main/java/com/example/show/controller/dto/response/InterestShowPaginationApiResponse.java index e3758b5c..e2b4509b 100644 --- a/app/api/show-api/src/main/java/com/example/show/controller/dto/response/InterestShowPaginationApiResponse.java +++ b/app/api/show-api/src/main/java/com/example/show/controller/dto/response/InterestShowPaginationApiResponse.java @@ -4,7 +4,6 @@ import io.swagger.v3.oas.annotations.media.Schema; import java.util.UUID; import lombok.Builder; -import org.example.dto.response.CursorApiResponse; import org.example.util.DateTimeUtil; @Builder @@ -25,10 +24,7 @@ public record InterestShowPaginationApiResponse( String location, @Schema(description = "공연 포스터 이미지 주소") - String posterImageURL, - - @Schema(description = "조회한 데이터의 Cursor") - CursorApiResponse cursor + String posterImageURL ) { public static InterestShowPaginationApiResponse from( @@ -41,7 +37,6 @@ public static InterestShowPaginationApiResponse from( .endAt(DateTimeUtil.formatDate(response.endAt())) .location(response.location()) .posterImageURL(response.posterImageURL()) - .cursor(CursorApiResponse.toCursorResponse(response.interestShowId(), response.interestedAt())) .build(); } } diff --git a/app/api/show-api/src/main/java/com/example/show/controller/dto/response/ShowPaginationApiParam.java b/app/api/show-api/src/main/java/com/example/show/controller/dto/response/ShowPaginationApiParam.java index cda479db..11590c22 100644 --- a/app/api/show-api/src/main/java/com/example/show/controller/dto/response/ShowPaginationApiParam.java +++ b/app/api/show-api/src/main/java/com/example/show/controller/dto/response/ShowPaginationApiParam.java @@ -2,15 +2,15 @@ import com.example.show.service.dto.response.ShowPaginationServiceResponse; import io.swagger.v3.oas.annotations.media.Schema; +import java.util.UUID; import lombok.Builder; -import org.example.dto.response.CursorApiResponse; import org.example.util.DateTimeUtil; @Builder public record ShowPaginationApiParam( - @Schema(description = "조회한 데이터의 Cursor") - CursorApiResponse cursor, + @Schema(description = "공연 ID") + UUID id, @Schema(description = "공연 이름") String title, @@ -30,7 +30,7 @@ public record ShowPaginationApiParam( public static ShowPaginationApiParam from(ShowPaginationServiceResponse response) { return ShowPaginationApiParam.builder() - .cursor(CursorApiResponse.toCursorId(response.id())) + .id(response.id()) .title(response.title()) .location(response.location()) .posterImageURL(response.image())