Paging을 구현해보면서 Pagealbe이라는 인터페이스를 사용해보았습니다.
@GetMapping("/post/list")
public ResponseEntity<BasicResponse> find(@PageableDefault(size = 12) Pageable pageable){
return postService.postlist(pageable);
}
기본 응답 형식은 ResponseEntity에 맞추기
컨트롤러 메소드 파라미터에 Pageable만 추가하면 PageRequest 객체를 내부적으로 생성
@PageableDefault(size = ?) 로 파라미터로 받는 size를 고정값으로 받을 수 있음
Page<Criteria> criterias = postRepository.findAll(pageable).map(Criteria::from);
레포지토리에서 전부 가져와서 Criteria로 변환
페이징을 제공하는 중요한 인터페이스
Pageable 인터페이스의 구현체를 보면 PageRequest 사용하는 것처럼 보임
PageRequest 클래서에서 of 메소드의 변수로 page와 size가 사용
페이징의 findAll()의 기본적인 반환 메서드로 여러 반환 타입 중 하나