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); }
这是设计的。 一旦手动开始实现存储库方法,我们就无法知道GET
或POST
是否是正确的HTTP方法,因为执行是否是幂等的,取决于您如何实现它。
因此,要实现自定义控制器并使用适当的HTTP方法公开这些方法。 也就是说,我们的跟踪器中有一张票据可以提供定义这些方法的方式。