0

我有一个应用程序,我使用 Spring Data Rest 在一个服务中公开我的实体,然后使用另一个服务中的 FeignClient 来访问和更新这些资源。

在我见过的在 Spring Data REST 中发布 @OneToMany 子资源关联的示例中,建立这些关系的方法如下:

  1. 创建实体
  2. 获取新创建实体的“self”href
  3. 为该类型创建拥有实体的现有实体列表,然后将该新创建的链接添加到列表中
  4. 对关联 URI 的 URI 列表执行“PUT”(内容类型为“text/uri-list”)以创建关联。

我已经使用 AngularJs 完成了这项工作,并且效果很好。但是,我真的不希望我的 javascript 控制器对我的域对象有如此深入的了解,我宁愿让 Spring HATEOAS 为我完成这项工作。

所以我所做的是在我的客户端应用程序中创建一个服务,它使用 Spring Cloud FeignClient 访问这些端点并完成 Angular 目前正在做的工作。

我遇到的问题是,当我引用我的关联(例如“ http://myapp/myobjects/3/myassociation ”)然后对该 URI 执行“GET”时,它返回“Resources<MyAssociation >" 无法获取关联对象的 URI 列表。对于“链接”,我得到的只是来自拥有实体的对关联的引用(例如“ http://myapp/myobjects/3/myassociation ”)。

有没有一种方法可以找到该关联列表而无需进行其他几个 GET 以便我可以将新添加的一个添加到其中?

提前致谢,

CS

4

1 回答 1

0
URI.create(Resource.getId().getHref()).getPath()

你可以试试这个。

于 2017-01-05T07:29:41.597 回答