페이징과 정렬 예제
@GetMapping("/members")
public Page<Member> list(Pageable pageable) {
Page<Member> page = memberRepository.findAll(pageable);
return page;
}
Java
복사
•
Spring Data가 제공하는 Method는 Parameter로 Pageable 을 받을 수 있다.
◦
Pageable은 인터페이스로, 실제 객체는 org.springframework.data.domain.PageRequest가 생성된다.
요청 파라미터
•
page : 현재 페이지, 0부터 시작
•
size : 한 페이지에 노출할 데이터 건수
•
sort : 정렬 조건을 정의한다. (asc | desc)
기본값
•
Spring Boot 글로벌 설정
data:
web:
pageable:
default-page-size: 10 # 기본 페이지 사이즈
max-page-size: 2000 # 최대 페이지 사이즈
YAML
복사
•
개별 설정
◦
@PageableDefault
@GetMapping("members")
public Page<MemberDto> list(@PageableDefault(size = 5, sort = "username",
direction = Sort.Direction.DESC) Pageable pageable) {
...
}
Java
복사