TA 역할 Spring 경계 smoke (role-ta-live-1522-001)

This commit is contained in:
forge-bot 2026-07-14 06:58:58 +00:00
parent a0b93636c9
commit 803a09d6ff

View file

@ -0,0 +1,39 @@
package com.klaroworks.runtime.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.klaroworks.runtime.exception.ErrorCode;
import lombok.*;
import java.time.Instant;
@Data @Builder @NoArgsConstructor @AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ApiResponse<T> {
private boolean success;
private T data;
private ErrorInfo error;
private String timestamp;
@Data @Builder @NoArgsConstructor @AllArgsConstructor
public static class ErrorInfo {
private String code;
private String message;
private Object details;
}
public static <T> ApiResponse<T> success(T data) {
return ApiResponse.<T>builder().success(true).data(data)
.timestamp(Instant.now().toString()).build();
}
public static <T> ApiResponse<T> error(ErrorCode code) {
return ApiResponse.<T>builder().success(false)
.error(ErrorInfo.builder().code(code.getCode()).message(code.getMessage()).build())
.timestamp(Instant.now().toString()).build();
}
public static <T> ApiResponse<T> error(ErrorCode code, Object details) {
return ApiResponse.<T>builder().success(false)
.error(ErrorInfo.builder().code(code.getCode()).message(code.getMessage()).details(details).build())
.timestamp(Instant.now().toString()).build();
}
}