아... 2시간정도를 날렸다

 

spring pageable의 경우 기본적으로 page, size라는 파라미터를 받아서 페이징을 조금 더 쉽게 구현할 수 있도록 해주는데

page,size라는 이름이 고정값이라 변경이 필요했다.

 

다음과 같이 yml파일에서 spring.data.web.pageable.size-parameter 값으로 설정해주면 된다

라는 블로그를 많이 찾아봤지만 실제로는 되지 않았고 엉뚱한곳만 보다가 해결했다.

 

결론부터 말하면 우리가 설정해야 하는 값은 spring.data.rest.limit-parameter

설정문제겠지만 spring.data.web.pageable.size-parameter 이 동작하지 않았다면 실제 스프링 빈에 등록되는 애는 HateoasPageableHandlerMethodArgumentResolver 일 확률이 매우 높다.

 

HateoasPageableHandlerMethodArgumentResolver는 PageableHandlerMethodArgumentResolver의 하위타입이다

 

따라서 PageableHandlerMethodArgumentResolver.setSizeParameterName() 메서드를 단순히 호출하면 안되고RepositoryRestMvcConfiguration 클래스 내부에 있는 pageableResolver() 메서드로 한번 감싸진 HateoasPageableHandlerMethodArgumentResolver를 리턴하도록 해야한다.

 

 

암튼 결론은

spring.data.web.pageable.size-parameter 가 안된다면

spring.data.rest.limit-parameter 사용하기

+ Recent posts