繁体   English   中英

如何确定和进行与父子关系相对应的REST调用

[英]How to decide and make REST calls corresponding to parent-child relationship

我正在使用bone.js和Apache-CXF Rest-ful Web服务。

我有一个树状的节点结构(父子关系)。

用户可以从前端(UI)为任何节点创建子代。

那时我想打什么REST电话?

选项是:

  1. 一个PUT(更新)父请求,我可以调用将父更新更新到后端。

  2. POST(创建)子请求,我可以从后端调用创建子。

我的疑问是,我想使用这两个调用还是对同一方法有更好的方法?

var TreeModel = Backbone.Model.extend({

    defaults : {

        id : undefined,

        name : "", 

        children : [] 

    },

    urlRoot : '/api/tree'

});

是我的模特。

在我的js代码中,我使用了:

   var parent = new Treemodel();

   ..... (some operations)  .....

   var child1 = new Treemodel();

   child1.save();

   parent.children.push(child1);

   parent.save();

有没有更好的方法?

如果它对您有用,那么您的方法看起来还不错。

我想到的另一个选择(虽然没有比您好得多)是仅将子级保存到服务器,然后将fetch()父级节点保存。 这简化了客户代码逻辑。

代码如下:

var parent = new Treemodel();

[...]

var child1 = new Treemodel();

child1.save({
    success: function () {
        parent.fetch();
    }
});

无论如何,我建议您仅在通过添加“成功”回调成功创建子代时保存父代 您的代码将如下所示:

var parent = new Treemodel();

[...]

var child1 = new Treemodel();

child1.save({
    success: function () {
        parent.children.push(child1);
        parent.save();
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM