Java SpringDataREST:MongoDB存储库的自定义查询
我正在尝试根据从创建自定义查询。但是我的自定义方法无法从存储库的REST界面(/user/search)获得 (例如,浏览器无法找到本地主机:8080/user/search/GetByKidsAge?age=1) 有人能帮我解决这个问题并给我一些建议吗? 非常感谢 下面是我的代码: UserRepositoryCustom.javaJava SpringDataREST:MongoDB存储库的自定义查询,java,spring,mongodb,rest,spring-data,Java,Spring,Mongodb,Rest,Spring Data,我正在尝试根据从创建自定义查询。但是我的自定义方法无法从存储库的REST界面(/user/search)获得 (例如,浏览器无法找到本地主机:8080/user/search/GetByKidsAge?age=1) 有人能帮我解决这个问题并给我一些建议吗? 非常感谢 下面是我的代码: UserRepositoryCustom.java public interface UserRepositoryCustom { public List<User> GetByKi
public interface UserRepositoryCustom {
public List<User> GetByKidsAge(@Param("age") int age);
}
public class UserRepositoryImpl implements UserRepositoryCustom {
@Override
public List<User> GetByKidsAge(int age) {
return /*perform query*/;
}
}
@RepositoryRestResource(collectionResourceRel = "user", path = "user")
public interface UserRepository extends MongoRepository<User, String>, UserRepositoryCustom {
List<User> findByLastName(@Param("name") String name);
}
公共接口UserRepositoryCustom{
公共列表GetByKidsAge(@Param(“age”)int-age);
}
UserRepositoryImpl.java
public interface UserRepositoryCustom {
public List<User> GetByKidsAge(@Param("age") int age);
}
public class UserRepositoryImpl implements UserRepositoryCustom {
@Override
public List<User> GetByKidsAge(int age) {
return /*perform query*/;
}
}
@RepositoryRestResource(collectionResourceRel = "user", path = "user")
public interface UserRepository extends MongoRepository<User, String>, UserRepositoryCustom {
List<User> findByLastName(@Param("name") String name);
}
public类UserRepositoryImpl实现UserRepositoryCustom{
@凌驾
公共列表GetByKidsAge(int年龄){
返回/*执行查询*/;
}
}
UserRepository.java
public interface UserRepositoryCustom {
public List<User> GetByKidsAge(@Param("age") int age);
}
public class UserRepositoryImpl implements UserRepositoryCustom {
@Override
public List<User> GetByKidsAge(int age) {
return /*perform query*/;
}
}
@RepositoryRestResource(collectionResourceRel = "user", path = "user")
public interface UserRepository extends MongoRepository<User, String>, UserRepositoryCustom {
List<User> findByLastName(@Param("name") String name);
}
@RepositoryRestResource(collectionResourceRel=“user”,path=“user”)
公共接口UserRepository扩展了MongoRepository、UserRepositoryCustom{
列出findByLastName(@Param(“name”)字符串名);
}
这是设计的。一旦您开始手动实现存储库方法,我们就无法知道GET
还是POST
是正确的HTTP方法,因为执行是否为幂等取决于您如何实现它
因此,方法是实现一个自定义控制器,并使用适当的HTTP方法公开这些方法。这就是说,我们的跟踪器中有一种方法可以提供定义这些方法的公开方式