From 1bd9248c1acc2ccc8fa362990b9c2f07c0b0143f Mon Sep 17 00:00:00 2001 From: Ssamssamukja <109636635+Ssamssamukja@users.noreply.github.com> Date: Thu, 14 Nov 2024 19:27:52 +0900 Subject: [PATCH] =?UTF-8?q?:sparkles:=20Mission(#7)=20:=20ApiResponse=20?= =?UTF-8?q?=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../umc/spring/apiPayload/ApiResponse.java | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 spring/src/main/java/umc/spring/apiPayload/ApiResponse.java diff --git a/spring/src/main/java/umc/spring/apiPayload/ApiResponse.java b/spring/src/main/java/umc/spring/apiPayload/ApiResponse.java new file mode 100644 index 0000000..bc11e0c --- /dev/null +++ b/spring/src/main/java/umc/spring/apiPayload/ApiResponse.java @@ -0,0 +1,31 @@ +package umc.spring.apiPayload; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import lombok.AllArgsConstructor; +import lombok.Getter; +import umc.spring.apiPayload.code.BaseCode; +import umc.spring.apiPayload.code.status.SuccessStatus; +@Getter +@AllArgsConstructor +@JsonPropertyOrder({"isSuccess", "code", "message", "result"}) +public class ApiResponse { + @JsonProperty("isSuccess") + private final Boolean isSuccess; + private final String code; + private final String message; + @JsonInclude(JsonInclude.Include.NON_NULL) + private T result; + // 성공한 경우 응답 생성 + public static ApiResponse onSuccess(T result){ + return new ApiResponse<>(true, SuccessStatus._OK.getCode() , SuccessStatus._OK.getMessage(), result); + } + public static ApiResponse of(BaseCode code, T result){ + return new ApiResponse<>(true, code.getReasonHttpStatus().getCode() , code.getReasonHttpStatus().getMessage(), result); + } + // 실패한 경우 응답 생성 + public static ApiResponse onFailure(String code, String message, T data){ + return new ApiResponse<>(false, code, message, data); + } +}