Spring
페이징처리
Dev Park
5/11/2024
32 views
서론
API에서 데이터를 요청받아 응답할때 데이터 전체를 넘겨줄 수도 있지만, 필요에 따라 데이터를 나누거나, 정렬해야할때가 있다.
이를 가능하게 해주는 기능을 페이징이라고 하는데 오늘은 스프링부트에서 이 페이징을 어떻게 구현하는지 알아보자.
Pageable
페이징은 데이터를 요청 받을때 페이지를 나누듯이 데이터를 나누어 가져와 응답해주는 것을 말한다.
이를 가능하게 해주는 것이 Pageable 페이지네이션 객체이다.
이 객체는 페이징에 필요한 정보를 담고 있는 추상 인터페이스이다.
페이지네이션 객체를 구현하기 위해서는 세가지 방법이 있다.
class QPageRequest는 QueryDSL을 위한 Pageable 구현체이다.
class PageRequest는 가장 기본적으로 많이 사용하는 PAgeable 구현체이다.
enum Unpaged는 pagination 정보가 없는 것을 표현하기 위한 구현체이다.
이중 PageRequest를 가장 많이 사용한다.
Java1val user = userRepository.findAll(PageRequest.of(pageNo,pageSize,sort)).content
PageRequest를 사용하면 위와 같이 코드를 구성할 수 있다.