Skip to content

Commit 88ed8ca

Browse files
committed
feat: add records for API responses
1 parent b8532e6 commit 88ed8ca

File tree

2 files changed

+40
-0
lines changed

2 files changed

+40
-0
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package br.com.catalog.controller.responses;
2+
3+
import org.springframework.data.domain.Page;
4+
5+
import java.util.List;
6+
7+
public record PaginationResponse<T>(
8+
List<T> content,
9+
int page,
10+
int size,
11+
long totalElements,
12+
int totalPages
13+
) {
14+
public static <T> PaginationResponse<T> pagination(Page<T> page) {
15+
return new PaginationResponse<>(
16+
page.getContent(),
17+
page.getNumber(),
18+
page.getSize(),
19+
page.getTotalElements(),
20+
page.getTotalPages()
21+
);
22+
}
23+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package br.com.catalog.controller.responses;
2+
3+
import com.fasterxml.jackson.annotation.JsonFormat;
4+
5+
import java.time.LocalDateTime;
6+
7+
public record Response<T>(
8+
@JsonFormat(pattern = "dd-MM-yyyy HH:mm:ss")
9+
LocalDateTime timestamp,
10+
String status,
11+
String message,
12+
T data
13+
) {
14+
public Response(String status, String message, T data) {
15+
this(LocalDateTime.now(), status, message, data);
16+
}
17+
}

0 commit comments

Comments
 (0)