Spring Data Rest PUT v.s PATCH LinkableResources

问题描述:

我正在使用Spring Data REST来展示我的实体及其关系。我有两个实体之间的OneToOne关系,我试图更新/更改与PUT和PATCH的关系。Spring Data Rest PUT v.s PATCH LinkableResources

我注意到,春季数据REST将只允许更新链接的资源 - JPA映射实体(一对多,多对一等),这也是AggregateRoots(有一个库) - 通过PATCH,并与被忽略a PUT

这可以看出,在LinkedAssociationSkippingAssociationHandler类:

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

这是为什么?这背后的推理是什么?

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