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