[Spring Boot] Pageable 커스터마이징하기
안녕하세요. 남산돈가스입니다. 지난 포스팅 [Spring Boot] JPA + Pageable 을 이용한 페이징 처리 에서 마지막 Pageable 커스터마이징에 대한 언급을 했었는데, 이번 포스팅에서 그 내용을 다루어 보려고 합니다. 일반적으로, Pageable을 파라미터로 Controller를 구현하면 Request Parameter 를 통하여 Handling 할 수 있는 파라미터는 기본적으로 page, size, sort 이렇게 세 가지 입니다. page : 조회할 페이지 번호 (default : 0) size : 한 페이지 당 조회 갯 수 (default : 20) sort : 정렬 기준 (정렬할 기준컬럼,ASC|DESC) 위와 같은 기본 설정을 가지고 Pageable 객체를 Handling 할 수 있습니다. 하지만 만약 기존 레거시 코드에서 Pageable을 사용하는 페이징처리로 이관하는 작업을 한다고 가정하면, 웹 화면에서 요청하던 기존 레거시 페이지 요청 파라미터를 전부 수정해줘야하는 번거로움이 생기게 됩니다. 저 또한 이와 같은 상황에서 Pageable 요청 파라미터를 커스터마이징하는 방식을 먼저 생각하게 되었습니다. 예제를 보겠습니다. @Configuration public class WebConfig implements WebMvcConfigurer { @Override public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) { SortHandlerMethodArgumentResolver sortArgumentResolver = new SortHandlerMethodArgumentResolver(); sortArgumentResolver .setSortParameter ( "sortBy" ); s