我是Spring Data Rest的新手,看起来我想用它来轻松地将一些现有的数据库表暴露为restful服务。我已经设法通过遵循此guide来获得一个示例。这有效但是如何显示默认情况下按创建日期字段排序的所有行?
我尝试添加一个findAllByOrderByCreationdateDesc()方法,该方法通过REST接口显示为一种新的搜索方法,但理想情况下,我希望在显示所有项目时默认执行此操作。
任何指针都会很棒。
答案 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}