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请求。
答
从Spring数据REST 2.5.9.RELEASE中,关联不会更新PUT请求,只会使用PATH进行更新。
Changes in version 2.5.9.RELEASE (2017-04-19)
DATAREST-1030 - PATCH requests do not handle links to associations properly.
这个其他链接: