簡體   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