아... 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 사용하기
'spring' 카테고리의 다른 글
[jpa + junit] 슬라이스 테스트 도중 JPA metamodel must not be empty! 해결 (0) | 2020.09.01 |
---|---|
[junit5] MockMvc 테스트중 NestedServletException 통과시키기 (0) | 2020.08.26 |
[Spring cloud] Netflix Feign Client Mocking하기 (2) | 2020.08.21 |
[JPA] Console에 net::ERR_INVALID_CHUNKED_ENCODING 200 에러시 참고 (0) | 2020.05.15 |
[JUnit] Mockmvc를 사용한 Controller Test에서 @ControllerAdvice 테스트하기 (2) | 2019.10.31 |