2015-08-23 58 views
0

我一直在使用.NET Web窗體的Web應用程序。現在我正在嘗試轉移到Web API和客戶端應用程序。我正在嘗試使用Ember.js。我開始對Ember 2.0,Ember-Data和其他東西感到困惑。Ember.js使用REST服務

我現在的問題是,我試圖消費一些REST服務,以顯示我的Ember應用程序中的東西列表。我是否必須使用Ember-Data?如果不是,我該如何使用這些服務來創建,讀取,更新和刪除項目(我的意思是,我只能使用ajax或其他東西)?

Web API是爲了可用於許多技術而構建的。我需要爲每個請求構建一個特定的URL(即使是一個簡單的GET也有一些必需的參數)。這就是爲什麼燼數據對我來說效果不佳,至少不是我所瞭解到的。因爲this.store.find不允許我構建我需要的網址。

問候。

回答

0

我強制使用Ember-Data嗎?

不,不是這樣的。您可以使用其他庫,如Ember RESTless,或自己寫。

您甚至可以在需要向API發起請求時使用簡單的jQuery AJAX調用,但是,您將失去Ember Data的許多好處,例如在需要時懶惰地異步加載模型。

這就是爲什麼燼數據不是爲我工作很好,至少不是我 已經瞭解它。因爲this.store.find不允許我構建我需要的網址 。

您可以覆蓋你使用(例如RESTAdapter),在GitHub上的源代碼可能是有用的,如果你想做到這一點適配器buildURL方法,你可以找到你需要創建自己的一切行爲對於Ember API documentation中的buildURL方法。

+0

非常感謝!我有很多問題試圖覆蓋Ember數據方法,因爲: 1.我的API沒有對象的根結構,我不得不重寫一些序列化方法,但最後我無法讓它工作。 2.我的API是分頁的(我不知道這個詞是否正確),所以在每個請求中我都必須指定頁面大小和頁碼。如果我有1000個寄存器,每頁最多可以得到100個。我認爲它不適合燼數據。你怎麼看? –

+0

它可能很複雜,但如果你想在自定義序列化器和適配器之間分離邏輯,它可以工作。 Ember Data允許靈活性。但是,是的,這可能需要一些工作和頭痛才能做到。 –

+1

好的,非常感謝! –