list(Pageable pageable) { return memberRepository.findAll(pageable); }"> list(Pageable pageable) { return memberRepository.findAll(pageable); }"> list(Pageable pageable) { return memberRepository.findAll(pageable); }">
@GetMapping("/members")
public Page<Member> list(Pageable pageable) {
	return memberRepository.findAll(pageable);
}

http://localhost:8080/members?size=5&page=1&sort=id,desc&sort=username,desc

이러한 요청 파라미터를 줄 수 있다.

기본 값을 바꾸고 싶을 때는? size를 디폴트로 10개 하고 싶은 경우

글로벌

spring:
  data:
    web:
      pageable:
        default-page-size: 10
        max-page-size: 2000

수동 설정

@GetMapping("/members")
public Page<Member> list(@PageableDefault(size = 5)  Pageable pageable) {
	return memberRepository.findAll(pageable);
}

이런 식으로 가능

접두사

Page 내용을 DTO로 변환

@GetMapping("/members")
public Page<MemberDTO> list(@PageableDefault(size = 5)  Pageable pageable) {
	return memberRepository.findAll(pageable).map(member -> new MemberDTO(member.getId(), member.getUsername()));
}

API를 반환할 때는 항상 DTO로!