TA 역할 Spring 경계 smoke (role-ta-live-1522-001)
This commit is contained in:
parent
a0b93636c9
commit
803a09d6ff
1 changed files with 39 additions and 0 deletions
39
src/main/java/com/klaroworks/runtime/dto/ApiResponse.java
Normal file
39
src/main/java/com/klaroworks/runtime/dto/ApiResponse.java
Normal 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();
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue