49 lines
1016 B
Java
49 lines
1016 B
Java
package com.smartoffice.common;
|
|
|
|
import java.time.Instant;
|
|
|
|
public class ApiResponse<T> {
|
|
private int code;
|
|
private String message;
|
|
private T data;
|
|
private Instant timestamp;
|
|
|
|
public ApiResponse() {
|
|
}
|
|
|
|
public ApiResponse(int code, String message, T data) {
|
|
this.code = code;
|
|
this.message = message;
|
|
this.data = data;
|
|
this.timestamp = Instant.now();
|
|
}
|
|
|
|
public static <T> ApiResponse<T> ok(T data) {
|
|
return new ApiResponse<>(200, "OK", data);
|
|
}
|
|
|
|
public static <T> ApiResponse<T> created(T data) {
|
|
return new ApiResponse<>(201, "Created", data);
|
|
}
|
|
|
|
public static ApiResponse<Void> error(int code, String message) {
|
|
return new ApiResponse<>(code, message, null);
|
|
}
|
|
|
|
public int getCode() {
|
|
return code;
|
|
}
|
|
|
|
public String getMessage() {
|
|
return message;
|
|
}
|
|
|
|
public T getData() {
|
|
return data;
|
|
}
|
|
|
|
public Instant getTimestamp() {
|
|
return timestamp;
|
|
}
|
|
}
|