package com.example.demo.common; import java.time.Instant; public record ApiResponse( int code, String message, T data, Instant timestamp ) { public static ApiResponse ok(T data) { return new ApiResponse<>(0, "success", data, Instant.now()); } public static ApiResponse ok(String message, T data) { return new ApiResponse<>(0, message, data, Instant.now()); } public static ApiResponse fail(int code, String message) { return new ApiResponse<>(code, message, null, Instant.now()); } }