diff --git a/src/main/java/com/pinHouse/server/core/response/response/ApiResponse.java b/src/main/java/com/pinHouse/server/core/response/response/ApiResponse.java index f9f5ead..78a03c1 100644 --- a/src/main/java/com/pinHouse/server/core/response/response/ApiResponse.java +++ b/src/main/java/com/pinHouse/server/core/response/response/ApiResponse.java @@ -1,6 +1,7 @@ package com.pinHouse.server.core.response.response; import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; import io.micrometer.common.lang.Nullable; import org.springframework.http.HttpStatus; @@ -9,7 +10,7 @@ /** * API 응답을 표준화하기 위한 레코드 클래스입니다. */ - +@JsonInclude(JsonInclude.Include.NON_NULL) public record ApiResponse( @JsonIgnore HttpStatus httpStatus, @@ -30,6 +31,11 @@ public static ApiResponse created() { return new ApiResponse<>(HttpStatus.CREATED, true, HttpStatus.CREATED.value(), "성공적으로 생성되었습니다.", null, null); } + // 수정 성공 응답 (204 No Content) + public static ApiResponse updated() { + return new ApiResponse<>(HttpStatus.NO_CONTENT, true, HttpStatus.NO_CONTENT.value(), "성공적으로 수정되었습니다.", null, null); + } + // 삭제 성공 응답 (204 No Content) public static ApiResponse deleted() { return new ApiResponse<>(HttpStatus.NO_CONTENT, true, HttpStatus.NO_CONTENT.value(), "성공적으로 삭제 되었습니다.", null, null); @@ -39,5 +45,5 @@ public static ApiResponse deleted() { public static ApiResponse fail(final CustomException e) { return new ApiResponse<>(e.getErrorCode().getHttpStatus(), false, e.getErrorCode().getCode(), e.getErrorCode().getMessage(), null, e.getFieldErrorResponses()); } - } + diff --git a/src/main/java/com/pinHouse/server/core/response/response/pageable/SliceResponse.java b/src/main/java/com/pinHouse/server/core/response/response/pageable/SliceResponse.java new file mode 100644 index 0000000..6d87580 --- /dev/null +++ b/src/main/java/com/pinHouse/server/core/response/response/pageable/SliceResponse.java @@ -0,0 +1,23 @@ +package com.pinHouse.server.core.response.response.pageable; + +import lombok.Builder; +import org.springframework.data.domain.Slice; + +import java.util.List; + +@Builder +public record SliceResponse( + List content, + boolean hasNext, + int page, + int size +) { + public static SliceResponse from(Slice slice) { + return SliceResponse.builder() + .content(slice.getContent()) + .hasNext(slice.hasNext()) + .page(slice.getNumber() + 1) + .size(slice.getSize()) + .build(); + } +}