2013-10-24 50 views
2

我正在編寫一個將訂單發送到遠程服務器的應用程序。我現在有很多邏輯來設置新訂單。項目被添加到購物車,購物車總計已創建,我現在準備好擊中服務器端點。目前,該REST API(這是由一個獨立的團隊構建的)需要我:Marionnette中的所有內容都必須是對象還是集合

  • 發送一條新訂單請求和接收新的訂單號
  • 依次通過我的購物車發送的每個項目單獨地新訂單端點
  • 發送訂單總數
  • 發送的付款方式和金額
  • 返回最終數據作爲收據給客戶

我現在有 - 一個購物車收藏包含的項目模型 - 一個總量模型

我不是在尋找特別的代碼,但可能有人輪廓將數據發送到服務器的方法。我試圖找出如何使用集合和API URI端點來做到這一點,但沒有任何先例可以遵循。在Marionette/Backbone應用程序中使用defferds和promises使用直接的POST請求到服務器是否很自然,還是有更好的方法?

我將不勝感激任何指針在正確的方向,

回答

0

一般來說,你不會/不應該需要一個REST API交互時使用直接POST請求。骨幹模型和集合被設計爲在開箱即用這種模型之後與API交互。

如果你定義一個集合像這樣:

var Items = Backbone.Collection.Extend({ url: '/items' }); 
var myItems = new Items(); 
myItems.fetch(); 

那麼當你調用集合GET請求將發給您指定的URL,這將填充模型中的集合返回「取」。您可以將模型添加到此集合中,以便將適當的請求發送到端點。例如。一個帖子。默認的映射是低於上述集合:

  • 創建 - > POST '/項目'
  • 讀 - > GET '/條[/ I D]'
  • 更新 - >把「/項目/ ID爲」
  • 刪除 - >刪除‘/項目/ ID’

很多,這是重寫和可配置的,這樣就可以融入的API,你對建築。

相關問題