Spring Data Rest PUT v.s PATCH LinkableResources

时间:2017-08-01 15:52:53

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

我正在使用Spring Data REST来公开我的实体及其关系。我在两个实体之间有一个OneToOne关系,我正在尝试更新/改变与PUT和PATCH的关系。

我注意到Spring Data REST只允许你更新链接的资源 - JPA映射的实体(OneToMany,ManyToOne等),它们也是AggregateRoots(有一个存储库) - 通过 PATCH 并被 PUT 忽略。

这可以在LinkedAssociationSkippingAssociationHandler课程中看到:

if (associationLinks.isLinkableAssociation(association)) {
  return;
}

这是为什么?这背后的原因是什么?

是不是因为设计要求我们将关联视为资源本身,如this part of the documentation所示?我可以通过带有Content-Type text / uri-list的PUT改变关系,但感觉不自然,需要额外的HTTP请求。

1 个答案:

答案 0 :(得分:1)