java - Spring @PageableDefault 默认方向在传递排序后发生变化

标签 java spring spring-data

假设我的 @RestController GET 方法中有这个参数:

@PageableDefault(size = 20, sort = "updated_at", direction = Direction.DESC)

当我在没有指定sort的情况下获取时,一切都很好:sort == update_atdirection == DESC。 但是当我 GET ...?page=1&size=33&sort=asdasd 时,它会忽略默认的 direction 并将其设置为 ASC

没有得到任何关于这是一个错误的结果。是不是?

最佳答案

@PageableDefault() 有默认方向 ASC 值,您可以添加如下

   @SortDefault.SortDefaults({
           @SortDefault(sort = "name", direction = Sort.Direction.DESC)
    }) 

所以请求 Controller 看起来像

public ResponseEntity<Page<Brand>> findAll(
        @PageableDefault(sort = { "name", "displayOrder" }, value = 10)
         @SortDefault.SortDefaults({
         @SortDefault(sort = "name", direction = Sort.Direction.DESC)                                                 }) 
          Pageable pageable) {
            Page<Brand> brandPage = brandService.findAll(pageable);

        }

关于java - Spring @PageableDefault 默认方向在传递排序后发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38970086/

相关文章:

java - 改变 lucene FuzzyQuery 中的相似度

java - <Maven>如何在maven项目中添加类文件作为依赖(不是jar)?

java - Mockito 和模拟 webservicetemplate

java - 使用 Spring 规范从另一个对象获取连接到属性

java - 仅为一个字段编写 Mongo 转换器

java - 在 DAO 外部创建 JDBC 连接

java - 从不同线程更新 ListView

java - Java 是否提供某种寄存器 0x​​104567910 来存储临时数据?

java - 了解在 Web 容器中启动 Spring 批处理作业

spring - Spring Boot 和 Spring Data REST 中的 MongoDB 配置