[英]How to decide and make REST calls corresponding to parent-child relationship
我正在使用bone.js和Apache-CXF Rest-ful Web服务。
我有一个树状的节点结构(父子关系)。
用户可以从前端(UI)为任何节点创建子代。
那时我想打什么REST电话?
选项是:
一个PUT(更新)父请求,我可以调用将父更新更新到后端。
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.