Tag: json patch

修改Spring Data Rest中没有其存储库的@OneToMany实体

在我的项目中,我使用类型为A的对象,该对象具有类型B的对象的OneToMany关系(orphanRemoval = true,cascade = CascadeType.ALL,fetch = FetchType.EAGER)。 我需要SpringDataRest(SDR)使用单个POST请求来存储完整的完整A对象及其B对象(子对象)。 我在SDR中尝试了几种组合,唯一对我有用的组合是为对象A创建@RepositoryRestResource并为对象B创建@RepositoryRestResource,但是将此( B )标记为exported = false(如果我没有创建存储库)在对象B之外 ,它将无法工作 – >只是一个对象将存储在单个POST请求中,而不是它的子类型(@OneToMany关系)类型B ;如果B存储库省略了exported = false,则会出现相同的结果)。 这是否正确,是如何实现它的唯一方法(单个POST请求同时存储所有对象)? 我之所以要问,在我之前的例子中,我必须(我想)通过使用A的存储库来控制所有对象“生命周期”。 我很好,因为A – > B关系是组合( B不存在于A之外)。 但是我有严重的问题,即使用其父存储库通过SDR编辑(也删除) B类型的某个对象(因为对象B没有导出自己的存储库)。 也许,根据定义,这是不可能的。 我试过这些解决方案: “/ A / 1 / B / 2”的PATCH不起作用 – >方法不允许(在标题中是“允许:GET,DELETE”) – >所以,PUT也是不可能的 使用json补丁内容类型[{“op”:“添加”,“路径”:“/ B / 2”,….}] – > JCH补丁无效 – PATCH为“/ A / 1” “目标数组中没有这样的索引” […]