Spring Data Rest的PUT和PATCH LinkableResources的区别

10
我正在使用Spring Data REST来暴露实体及其关系。我有两个实体之间的一对一关系,并尝试使用PUT和PATCH更新/更改关系。
我注意到Spring Data REST只允许您通过PATCH更新链接资源 - JPA映射的实体(OneToMany,ManyToOne等),这些实体也是AggregateRoots(具有存储库) - 而在PUT中被忽略。
可以在LinkedAssociationSkippingAssociationHandler类中看到这一点:
if (associationLinks.isLinkableAssociation(association)) {
  return;
}

为什么会这样?这背后的原因是什么?
是因为设计希望我们像文档中的这部分所示那样将关联视为资源本身吗?我可以通过使用Content-Type text/uri-list进行PUT来更改关系,但感觉不自然并需要额外的HTTP请求。
1个回答

6

你刚刚确认了这个事实,但我们仍然不明白为什么PATCH和POST可以正确解决关联,而PUT却跳过它们。有人能用英语解释一下吗? - vbg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接