ERROR, DTO, COMMON(Responce) - TIMESTAMP,
{
"stauts" : "S000",
"data" : {
},
"message" : "상품을 성공적으로 조회했습니다."
}
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class ApiResponse<T> implements Serializable {
private static final String SUCCESS_STATUS = "C000";
private String status;
private T data;
private String message;
public static <T> ApiResponse<T> createSuccess(T data, String message) {
return new ApiResponse<>(SUCCESS_STATUS, data, message);
}
public static ApiResponse<?> createSuccessWithNoContent(String message) {
return new ApiResponse<>(SUCCESS_STATUS, null, message);
}
// 예외 발생으로 API 호출 실패시 반환
public static ApiResponse<?> createError(ErrorCode errorCode) {
return new ApiResponse<>(errorCode.getCode(), null, errorCode.getMessage());
}
private ApiResponse(String status, T data, String message) {
this.status = status;
this.data = data;
this.message = message;
}
}
// JWT
compileOnly 'io.jsonwebtoken:jjwt-api:0.11.5'
runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.11.5'
runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.11.5'