Я хотел бы предоставить новые конечные точки для моего репозитория, который также расширяет RevisionRepository.Spring Data Rest: выставлять новые конечные точки для репозитория, который расширяет репозиторий репозитория
@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);
}
Мой вопрос прямо сейчас, это то, что эти новые методы не подвергаются, как URLs (findLastChangeRevision
, findRevisions
) и только findByName
находится под URL поиска. В настоящее время я не особо отношусь к фактической форме URL-адреса, если это работает.
Единственный вариант, я знаю, сейчас это
- отделяющих ревизионные репозитории
- Создать новый контроллер, который отображается «/», чтобы заменить один созданный Spring Data Rest, и добавить все ссылки репозитория вручную. Одна из моих проблем заключается в том, что мои ссылки будут жестко закодированы (в отличие от ссылок на контроллеры), а пути будут относительными - не обязательно плохими, но сделают все непоследовательным.
- Добавьте ссылки на «/», который отображает до ревизии хранилищ
У меня есть много оговорок, с моей опцией выше. Я не уверен, как действовать дальше.
Я также заинтересован в ответе на этот вопрос. Я столкнулся с аналогичной проблемой, где я хочу расширить API-интерфейсы CrudRepository –