QueryParamter를 통해 페이지 정보를 전달하여, 편리하게 페이지를 처리할 수 있도록 Pageable이라는 객체 제공
의존성 spring-boot-starter-web
요청 파라미터 형식
?page=0&size=10&sort=id,desc&sort=no,desc
- page: 현재 페이지. 0부터 시작
 - size: 한 페이지에 표시할 데이터 건수
 - sort: 정렬 조건
 - direction: 정렬 기준 방향 (asc 생략 가능)
 
기본 사용
Kotlin
@Controller
class BoardController {
	@GetMapping("/board")
	fun getBoardList(@RequestParam param: String, pageable: Pageable): List<BoardResponse> { }
}Kotlin
@Repository
class BaordRepository {
	fun getBoardList(param: String, pageable: Pageable): List<Board> { }
}전체 설정
Plain Text
# DATA WEB (SpringDataWebProperties)
spring.data.web.pageable.default-page-size=20 # Default page size.
spring.data.web.pageable.max-page-size=2000 # Maximum page size to be accepted.
spring.data.web.pageable.one-indexed-parameters=false # Whether to expose and assume 1-based page number indexes.
spring.data.web.pageable.page-parameter=page # Page index parameter name.
spring.data.web.pageable.prefix= # General prefix to be prepended to the page number and page size parameters.
spring.data.web.pageable.qualifier-delimiter=_ # Delimiter to be used between the qualifier and the actual page number and size properties.
spring.data.web.pageable.size-parameter=size # Page size parameter name.
spring.data.web.sort.sort-parameter=sort # Sort parameter name.개별 설정
@PageableDefault 어노테이션 사용
Kotlin
@Controller
class BoardController {
	@GetMapping("board")
	fun getBoardList(@RequestParam param: String, @PageableDefault(size=10, sort="id", direction=Sort.Direction.DESC) pageable: Pageable): String {
	}
}페이지 2개 이상
접두어로 구분
Kotlin
// ?notice_page=0&guide_page=1
fun getBoardList(@Qualifier("notice") noticePageable: Pageable, @Qualifier("guide") guidePageable: Pageable)Previous Article

[IntelliJ] error: invalid source release: 17
Technique
Next Article

[Kotlin] Spring Boot JPA - CRUD 구현
Spring Boot
