Я пытаюсь добавить пользовательские методы в мой репозиторий Spring PersonRepository
, как описано в 1.3 Пользовательские реализации для Spring Хранилища данных и подвергая их метод через REST. Исходный код из Доступ к JPA-данным с помощью REST, вот код для добавленных/модифицированных классов:
interface PersonRepositoryCustom {
List<Person> findByFistName(String name);
}
class PersonRepositoryImpl implements PersonRepositoryCustom, InitializingBean {
@Override
public void afterPropertiesSet() throws Exception {
// initialization here
}
@Override
public List<Person> findByFistName(String name) {
// find the list of persons with the given firstname
}
}
@RepositoryRestResource(collectionResourceRel = "people", path = "people")
public interface PersonRepository extends PagingAndSortingRepository<Person, Long> {
List<Person> findByLastName(@Param("name") String name);
}
Когда я запускаю приложение и посещаю http://localhost:8080/portfolio/search/
, я получаю следующий тело ответа:
{
"_links" : {
"findByLastName" : {
"href" : "http://localhost:8080/people/search/findByLastName{?name}",
"templated" : true
}
}
}
Почему findByFirstName
не отображается, даже если он доступен в интерфейсе PersonRepository
?
Кроме того, есть ли способ динамически/программно добавить репозитории, которые будут отображаться через REST?