[英]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.