Spring 数据剩余指定默认顺序

Spring Data Rest specify default order by

我是 Spring Data Rest 的新手,看起来正是我想用来轻松地将一些现有数据库表公开为 restful 服务的东西。我已经按照这个 guide 成功地获得了一个示例。这可行,但默认情况下如何显示按创建日期字段排序的所有行?

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

任何指点都很好。

有些注释在这种情况下会派上用场。

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

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

您可以尝试覆盖存储库界面中的 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)。 你将拥有 不必要的搜索资源 link /users/search/findAll{?page,size,sort}