我正在尝试查找有关以下问题的任何信息: 我有一个JPA存储库,它通过Spring Data Rest项目暴露给REST服务:
Page<Business> findByUser(@Param("user") User user, Pageable pageable);
其中user
参数是实体。
现在,当我尝试从客户端(使用RestTemplate或Traverson)调用此REST方法时,我无法理解应该如何传递此参数...
是否可以在不制作自定义控制器的情况下实现它?
提前谢谢
答案 0 :(得分:0)
我假设Traverson traverson = new Traverson(…);
traverson.follow("businesses", "search", "findByUser")
.withTemplateParameters(Collections.singletonMap("user", "…/users/4711")).…
是另一个Spring Data REST托管实体?如果是这样,您传递一个URI,用于标识您要将方法交给查询方法资源的用户。
{{1}}
答案 1 :(得分:0)
我终于明白了。查看Spring JIRA上的this issue。
请求此方法取决于您的Spring Data Rest版本。如果您的版本是2.4+,则必须使用URI。如果您使用的是旧版本,则必须使用主键。
因此,如果您拥有较旧版本的SDR,则可能需要公开主键。 This question可以帮助您管理它。