Spring Data Rest指定默认顺序

时间:2017-05-25 11:55:34

标签: spring-data-rest

我是Spring Data Rest的新手,看起来我想用它来轻松地将一些现有的数据库表暴露为restful服务。我已经设法通过遵循此guide来获得一个示例。这有效但是如何显示默认情况下按创建日期字段排序的所有行?

我尝试添加一个findAllByOrderByCreationdateDesc()方法,该方法通过REST接口显示为一种新的搜索方法,但理想情况下,我希望在显示所有项目时默认执行此操作。

任何指针都会很棒。

2 个答案:

答案 0 :(得分:1)

在这种情况下,有一些注释可以派上用场。

但是,由于您使用spring-data-rest并且您不希望公开自定义方法,因此这些注释不会有太多帮助。

对于您的方案,您可以通过自己的自定义存储库覆盖默认存储库行为。查看this官方文档。

答案 1 :(得分:1)

您可以尝试覆盖存储库界面中的findAll()方法:

@RepositoryRestResource
public interface UserRepo extends JpaRepository<User, Long> {

    @Override 
    @Query("select u from User u order by u.name asc")
    Page<User> findAll(Pageable pageable);
}

但在这种情况下,您将无法使用任意排序(例如:/users?sort=name,desc)。 你会的 不必要的搜索资源链接/users/search/findAll{?page,size,sort}