我正在尝试创建一个自定义查询Spring 指南:使用 REST 访问 MongoDB 数据根据参考4.4 自定义实现。但我的自定义方法无法从存储库的 REST 接口 (/user/search) 中使用。
(例如浏览器无法找到 localhost:8080/user/search/GetByKidsAge?age=1)
有人可以帮我解决这个问题并给我一些建议吗?
多谢 !!
下面是我的代码:
UserRepositoryCustom.java
public interface UserRepositoryCustom {
public List<User> GetByKidsAge(@Param("age") int age);
}
UserRepositoryImpl.java
public class UserRepositoryImpl implements UserRepositoryCustom {
@Override
public List<User> GetByKidsAge(int age) {
return /*perform query*/;
}
}
用户存储库.java
@RepositoryRestResource(collectionResourceRel = "user", path = "user")
public interface UserRepository extends MongoRepository<User, String>, UserRepositoryCustom {
List<User> findByLastName(@Param("name") String name);
}
这是设计使然。一旦您开始手动实现存储库方法,我们就无法知道是否GET
or POST
是正确的 HTTP 方法,因为执行是否幂等取决于您如何实现它。
因此,解决方法是实现一个自定义控制器并使用适当的 HTTP 方法公开这些方法。也就是说,有一个ticket在我们的跟踪器中提供定义这些方法应该公开的方式的方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)