将复杂的参数传递给春日约会的方法

时间:2015-04-27 13:36:28

标签: spring rest spring-data spring-data-jpa spring-data-rest

我正在尝试查找有关以下问题的任何信息: 我有一个JPA存储库,它通过Spring Data Rest项目暴露给REST服务:

Page<Business> findByUser(@Param("user") User user, Pageable pageable);

其中user参数是实体。

现在,当我尝试从客户端(使用RestTemplate或Traverson)调用此REST方法时,我无法理解应该如何传递此参数...

是否可以在不制作自定义控制器的情况下实现它?

提前谢谢

2 个答案:

答案 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可以帮助您管理它。