我想为我的存储库公开新的端点,这也扩展了RevisionRepository。
@RepositoryRestResource(collectionResourceRel = "persons", itemResourceRel = "person", path = "persons")
public interface PersonRepository extends PagingAndSortingRepository<PersonEntity, Long>, RevisionRepository<PersonEntity, Long, Integer> {
Revision<Integer, PersonEntity> findLastChangeRevision(@Param("id") Long id);
Revisions<Integer, PersonEntity> findRevisions(@Param("id") Long id);
Page<Revision<Integer, PersonEntity>> findRevisions(@Param("id") Long id, Pageable pageable);
PersonEntity findByName(@Param("name") String name);
}
我现在的问题是,这些新方法没有公开为网址(findLastChangeRevision
,findRevisions
),只有findByName
位于搜索网址下。我目前对于实际的网址形式并不是特别关注,只要它有效。
我现在知道的唯一选择是
我对上面的选项有很多保留意见。我不知道该怎么办。
答案 0 :(得分:0)
您的方法名称出错了。在Repository类中查找方法应该是 findByxxxxxx 而不是 findxxxxx
这似乎是您的代码的问题。
@RepositoryRestResource(collectionResourceRel = "persons", itemResourceRel = "person", path = "persons")
public interface PersonRepository extends PagingAndSortingRepository<PersonEntity, Long>, RevisionRepository<PersonEntity, Long, Integer> {
Revision<Integer, PersonEntity> findByLastChangeRevision(@Param("id") Long id);
Revisions<Integer, PersonEntity> findByRevisions(@Param("id") Long id);
Page<Revision<Integer, PersonEntity>> findByRevisions(@Param("id") Long id, Pageable pageable);
PersonEntity findByName(@Param("name") String name);
}