Fix : common 수정

This commit is contained in:
lsh9672 2025-06-12 15:12:53 +09:00
parent 4a8008db4f
commit b7945ed819

View File

@ -1,3 +1,4 @@
// common/src/main/java/com/ktds/hi/common/dto/SuccessResponse.java
package com.ktds.hi.common.dto; package com.ktds.hi.common.dto;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
@ -9,25 +10,51 @@ import lombok.NoArgsConstructor;
import java.time.LocalDateTime; import java.time.LocalDateTime;
/** /**
* 성공 응답 DTO 클래스 * 성공 응답 DTO 클래스 (제네릭 지원)
* 간단한 성공 메시지를 반환할 사용 * 성공 메시지와 데이터를 반환할 사용
* 기존 코드와의 호환성을 유지하면서 제네릭 타입 지원
*/ */
@Getter @Getter
@Builder @Builder
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL) @JsonInclude(JsonInclude.Include.NON_NULL)
public class SuccessResponse { public class SuccessResponse<T> {
private boolean success; private boolean success;
private String message; private String message;
private T data;
private LocalDateTime timestamp; private LocalDateTime timestamp;
/** /**
* 성공 응답 생성 (메시지 포함) * 성공 응답 생성 (데이터와 메시지 포함)
*/ */
public static SuccessResponse of(String message) { public static <T> SuccessResponse<T> of(T data, String message) {
return SuccessResponse.builder() return SuccessResponse.<T>builder()
.success(true)
.message(message)
.data(data)
.timestamp(LocalDateTime.now())
.build();
}
/**
* 성공 응답 생성 (데이터만 포함, 기본 메시지)
*/
public static <T> SuccessResponse<T> of(T data) {
return SuccessResponse.<T>builder()
.success(true)
.message("성공")
.data(data)
.timestamp(LocalDateTime.now())
.build();
}
/**
* 성공 응답 생성 (메시지만 포함) - 기존 호환성 유지
*/
public static SuccessResponse<Void> of(String message) {
return SuccessResponse.<Void>builder()
.success(true) .success(true)
.message(message) .message(message)
.timestamp(LocalDateTime.now()) .timestamp(LocalDateTime.now())
@ -35,10 +62,10 @@ public class SuccessResponse {
} }
/** /**
* 성공 응답 생성 (기본 메시지) * 성공 응답 생성 (기본 메시지) - 기존 호환성 유지
*/ */
public static SuccessResponse success() { public static SuccessResponse<Void> success() {
return SuccessResponse.builder() return SuccessResponse.<Void>builder()
.success(true) .success(true)
.message("성공") .message("성공")
.timestamp(LocalDateTime.now()) .timestamp(LocalDateTime.now())
@ -46,11 +73,21 @@ public class SuccessResponse {
} }
/** /**
* 생성자 (메시지만) * 생성자 (메시지만) - 기존 호환성 유지
*/ */
public SuccessResponse(String message) { public SuccessResponse(String message) {
this.success = true; this.success = true;
this.message = message; this.message = message;
this.timestamp = LocalDateTime.now(); this.timestamp = LocalDateTime.now();
} }
/**
* 생성자 (데이터와 메시지)
*/
public SuccessResponse(T data, String message) {
this.success = true;
this.message = message;
this.data = data;
this.timestamp = LocalDateTime.now();
}
} }