2014-03-06 65 views
1

我正在使用AngularJs Framework使用單頁面應用程序。
該網站是一種社交網絡,因此由各種要從服務器獲取的種類的組成。
將RESTful並使每個實體「資源」或實施其他方式獲得'聚合的JSON'響應,因爲RESTful導致過多的調用是否會很好?
AngularJs SPA的聚合數據vs RESTful資源

如果使用非RESTful方法(例如使用$http服務),那麼我該如何維護應用程序的模塊化體系結構。

考慮例如澄清:

讓服務器返回:

{ 
    user: { 
     name: .... 
       ...., 
     projects: [{ 
        .... 
        .... 
     }], 
     ... 
    } 
} 

如何創建模塊,例如UserProjects,每一個都有自己的功能和邏輯上分離和獨立。
它幾乎類似於製作單個$http請求並分發對很多服務的響應。
任何幫助表示讚賞。

+0

我喜歡SPA。我希望我和你一起做這個。 – Deryck

回答

0

免責聲明 - 我絕不是一個REST專家或純粹

這是一個很好的問題,這是我掙扎也是如此。我無法證明有X個REST調用顯示單個表單/頁面,其中X有時可能相當大。我最終得出的解決方案似乎在我的案例中工作得很好,這是一種混合方法。我使用聚合(視圖模型)來呈現窗體/頁面,這些視圖模型是通過一個API調用從服務器獲得的。對於創建/更新/刪除操作,我從客戶端的視圖模型中提取實際資源,並使用更多REST風格的方法進行發佈。

這給了我兩全其美的好處,對顯示頁面的API調用數量少,對後期的RESTful方法減少了網絡開銷。

除了上面我使用的方法,我看到了breeze.js文檔,這似乎也很好,在應用程序啓動時,我將所有常用靜態查找數據(通常用於下拉列表/選擇列表的數據)加載到單個查找在客戶端上進行搜索和緩存。此模型從一開始就可用,無需每次需要顯示下拉列表/選擇列表時重新提取它們。