desvergue-de-alexandro
java 44 lines 1.11 KB
Raw
1 package com.tecmilenio.mapsconect.dto;
2
3 import lombok.AllArgsConstructor;
4 import lombok.Builder;
5 import lombok.Data;
6 import lombok.NoArgsConstructor;
7
8 @Data
9 @NoArgsConstructor
10 @AllArgsConstructor
11 @Builder
12 public class ApiResponse<T> {
13
14 private int status;
15 private String message;
16 private T data;
17 private String timestamp;
18
19 public static <T> ApiResponse<T> success(T data) {
20 return success(data, "OK");
21 }
22
23 public static <T> ApiResponse<T> success(T data, String message) {
24 return ApiResponse.<T>builder()
25 .status(200)
26 .message(message)
27 .data(data)
28 .timestamp(java.time.LocalDateTime.now().toString())
29 .build();
30 }
31
32 public static <T> ApiResponse<T> error(String message) {
33 return error(501, message);
34 }
35
36 public static <T> ApiResponse<T> error(int status, String message) {
37 return ApiResponse.<T>builder()
38 .status(status)
39 .message(message)
40 .timestamp(java.time.LocalDateTime.now().toString())
41 .build();
42 }
43
44 }