개발/java
spring 에서 pageable custom 구현
소확행개발자
2019. 12. 19. 16:33
spring 에서 pageable custom 구현
spring 에서 jpa page 를 사용하면 편리하겠지만
가끔씩은 필요한 요구조건에 맞춰 내가 직접 pagenation 을 해야할 일이 생긴다.
간단하게 list 와 pageable 을 컨트롤러 layer 에서 받았을때 사용할 수 있는 custom pageable 을 작성해보았다.
private Page<Long> makePageFromGoodsIds(List<Long> goodsIds, Pageable pageable) {
int start = (int) pageable.getOffset();
int end = Math.min((start + pageable.getPageSize()), goodsIds.size());
return new PageImpl<>(goodsIds.subList(start, end), pageable, goodsIds.size());
}