gpt4 book ai didi

java - Spring 数据 REST : custom query for MongoDB repository

转载 作者:可可西里 更新时间:2023-11-01 09:52:14 25 4
gpt4 key购买 nike

我正在尝试从 Spring guide : Accessing MongoDB Data with REST 创建自定义查询根据Reference 4.4 Custom Implementations .但是我的自定义方法在存储库的 REST 接口(interface) (/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*/;

}
}

UserRepository.java

@RepositoryRestResource(collectionResourceRel = "user", path = "user")
public interface UserRepository extends MongoRepository<User, String>, UserRepositoryCustom {

List<User> findByLastName(@Param("name") String name);
}

最佳答案

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

所以要走的路是实现自定义 Controller 并使用适当的 HTTP 方法公开这些方法。也就是说,有一个 ticket在我们的跟踪器中提供定义这些方法的公开方式的方法。

关于java - Spring 数据 REST : custom query for MongoDB repository,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23197207/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com