@Getter @Builder
@AllArgsConstructor
@NoArgsConstructor
public class Pagination {
// 총 페이지 수
private Integer totalPages;
// 총 갯수
private Long totalElements;
// 현재 페이지
private Integer currentPage;
// 현재 페이지에 갖고 있는 element 수
private Integer currentElements;
public static <T> Pagination getPagination(Page<T> pagination){
return Pagination.builder()
.totalPages(pagination.getTotalPages())
.totalElements(pagination.getTotalElements())
.currentPage(pagination.getNumber())
.currentElements(pagination.getNumberOfElements())
.build();
}
}
Page<Balance> allBalance = balanceService.getAllBalance(pageable);
Pagination pagination = Pagination.getPagination(allBalance);
Page<T>
타입 인스턴스를 받으면 getPagination
method를 사용해서 pagination을 뽑아내면 됩니다.
return PaginationResponseBody.of(Status.OK,getAllBalanceResList,pagination);
- return 할 때
PaginationResponseBody
의 마지막 parameter로 해당 pagination
을 반환해주면 됩니다.