使用rest controller(grails.rest.Resource)更新父级时删除父子关系中的子项

时间:2017-06-27 01:41:43

标签: rest gorm grails3

我正在以下列方式使用Grails 3 grails.rest.Resource注释:

@Resource(uri='/parent')
class Parent {
    static hasMany = [children: Child]
}

class Child {
    String property1
    String property2

    static belongsTo = [parent: Parent]
}

现在,假设我有一个包含2个子节点的Parent对象,并且我发送了一个像GET localhost:8080/parent/1这样的父节点的GET请求。 JSON响应看起来像(假设我没有使用默认的JSON渲染器,但实际上可能并不相关):

{
     "id": "1",
     "children": [
         {
             "id": "1",
             "property1": "prop1",
             "property2": "prop2"
         },
         {
             "id": "2",
             "property1": "prop1",
             "property2": "prop2"
         }
     ]
}

我希望能够使用看起来像......的

的JSON有效负载发出PUT请求
{
    "id": "1",
    "children": []
}

...并删除父母的所有子女。

如果不实施自定义休息控制器,这可能吗?在这种情况下,子节点是依赖对象,理想情况下,这将是单个更新,而不是在子对象的休息控制器上发出单独的DELETE请求,并且不必实现自定义代码来执行子节点删除= d。

0 个答案:

没有答案