Настройка параметров сортировки и направления с помощью @PageableDefault в Spring

Чтобы настроить параметры «сортировка» и «направление» с помощью @PageableDefaultв Spring, вы можете использовать следующие методы:

  1. Добавьте параметр метода с помощью @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.

    1. Если вы хотите настроить значения по умолчанию глобально для всех параметров 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» в порядке убывания.