반응형
오늘도 어김없이 Exception 발생했네요!
요즘은 Exception이 발생하면 어떻게 풀어서 블로그를 작성할까하고 Exception을 기다리고 있습니다 :)
증상
오늘 발생한 에러는 Querydsl에 Paging 처리가 필요하여 Pageable을 사용했을 때 발생하는 에러였습니다.
아래와 같은 코드를 작성하여 Parameter로 Pageable 객체를 받는 부분에서 에러가 발생하였습니다.
@RestController
@RequiredArgsConstructor // DI
public class StoreController {
private final StoreService storeService;
@GetMapping(value = "/stores/{storeId}")
pubic DefaultResponse searchAll(@PathVarible("storeId") Long storeId, Pageable pageable) {
List<Store> stores = storeService.searchAll(storeId, pageable);
return ResponseUtils.list(stores, HttpStatus.OK);
}
}
java.lang.NoSuchMethodException: org.springframework.data.domain.Pageable.<init>()
해결
WebMvcConfigurationSupport 상속받아 PageableHandlerMethodArgumentResolver를 추가해줍니다.
아래 소스와 같이 addArgumentResolvers 메서드를 Override하여 추가해줍시다!
@Configuration
public class WebMvcConfiguration extends WebMvcConfigurationSupport {
@Override
protected void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
argumentResolvers.add(new PageableHandlerMethodArgumentResolver());
super.addArgumentResolvers(argumentResolvers);
}
}
SortResolver를 추가해주는 코드입니다.
반응형