Spring Data REST:MongoDB存储库的自定义查询

我正在尝试从Spring指南创建自定义查询:根据参考4.4自定义实现 使用REST访问MongoDB数据 。 但是我的自定义方法不能从存储库的REST接口(/ user / search)中获得。

(例如,浏览器无法找到localhost:8080 / user / search / GetByKidsAge?age = 1)

有人可以帮我解决这个问题并给我一些建议吗? 非常感谢 !!

以下是我的代码:

UserRepositoryCustom.java

public interface UserRepositoryCustom { public List GetByKidsAge(@Param("age") int age); } 

UserRepositoryImpl.java

 public class UserRepositoryImpl implements UserRepositoryCustom { @Override public List GetByKidsAge(int age) { return /*perform query*/; } } 

UserRepository.java

 @RepositoryRestResource(collectionResourceRel = "user", path = "user") public interface UserRepository extends MongoRepository, UserRepositoryCustom { List findByLastName(@Param("name") String name); } 

这是设计的。 一旦手动开始实现存储库方法,我们就无法知道GETPOST是否是正确的HTTP方法,因为执行是否是幂等的,取决于您如何实现它。

因此,要实现自定义控制器并使用适当的HTTP方法公开这些方法。 也就是说,我们的跟踪器中有一张票据可以提供定义这些方法的方式。