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

时间:2016-08-16 08:32:30

标签: java spring spring-data

鉴于我在ProgressDialog GET方法中有这个论点:

$scope.orderlines=[]  
$scope.orderline = '';
$scope.addline = function(){
    $scope.items.push($scope.orderline); 
};

当我在未指定@RestController的情况下获取时,一切正常:@PageableDefault(size = 20, sort = "updated_at", direction = Direction.DESC) sort。 但是当我获得sort == update_at时,它会忽略默认direction == DESC并将其设置为...?page=1&size=33&sort=asdasd

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

1 个答案:

答案 0 :(得分:1)

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

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

所以请求控制器看起来像

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);

        }