Чтобы настроить параметры «сортировка» и «направление» с помощью @PageableDefaultв Spring, вы можете использовать следующие методы:
- Добавьте параметр метода с помощью
@PageableDefaultи укажите значения по умолчанию для «сортировки» и «направления» следующим образом:
@GetMapping("/example")
public String getExampleData(
@PageableDefault(sort = "defaultSortField", direction = Direction.DESC) Pageable pageable) {
// Method implementation
}
В приведенном выше примере для параметра sort установлено значение defaultSortField, а для параметра Direction по умолчанию установлено значение Direction.DESC(в порядке убывания).
<старый старт="2">
@GetMapping("/example")
public String getExampleData(
@PageableDefault(direction = Direction.DESC) Pageable pageable) {
// Method implementation
}
В этом случае параметр «сортировка» не будет установлен по умолчанию, а параметр «направление» будет установлен в значение Direction.DESC.
- Если вы хотите настроить значения по умолчанию глобально для всех параметров
Pageableв вашем приложении, вы можете использовать@EnableSpringDataWebSupportиWebMvcConfigurer:
@Configuration
@EnableSpringDataWebSupport
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {
PageableHandlerMethodArgumentResolver pageableResolver = new PageableHandlerMethodArgumentResolver();
pageableResolver.setFallbackPageable(PageRequest.of(0, 10, Sort.by("defaultSortField").descending()));
resolvers.add(pageableResolver);
}
}
В приведенной выше конфигурации мы устанавливаем резервный Pageableсо значениями по умолчанию: страница 0, размер 10 и сортировка по «defaultSortField» в порядке убывания.