2013-09-01 30 views
4

我正在轉換一個與Ember數據1.0.0 Beta 1(剛發佈)一起使用的項目。我有一個REST適配器監聽特定的端點,因此需要定製端點。Ember數據1.0.0測試版:RESTAdapter端點定製不再起作用

這是它在灰燼數據是如何運作的0.13:

App.Adapter = DS.RESTAdapter.extend({}) 

DS.RESTAdapter.reopen({ 
    url: 'https://api.example.com' 
}); 

在餘燼數據0.13,網址變成了:https://api.example.com/authors

在餘燼數據1.0.0,則網址:http://192.168.0.108:51939/authors

與/192.168.0.108:51939 web應用程序正在運行的網址。

因此,看起來RESTAdapter的.reopen上的url設置不再有效?

我與URL的其他自定義(如命名空間)同樣的問題...

希望有人可以提供幫助。

馬克

+0

你能接受我的回答嗎?我認爲它仍然是正確的 – andorov

回答

10

看起來這是@ cyclomarc的答案後不久更新(檢查PR https://github.com/emberjs/data/pull/1145)。在燼數據'網址'現在是'主機'。 '命名空間'劇照仍然有效。

DS.RESTAdapter.reopen({ 
    host: 'http://google.com', 
    namespace: 'api' 
}); 

將請求發送到http://google.com/api/*

灰燼v1.0.0-7

灰燼數據V1.0.0-beta.1-17

編輯:現在這是記錄在TRANSITION.md : https://github.com/emberjs/data/blob/master/TRANSITION.md#host-and-namespace-configuration

0

已經觀察到transition guide,仍然沒有提及有關urlnamespaceRESTAdapter取出,在源代碼內聯註釋進一步閱讀仍然是指如在問題中提到可以使用。但是,在他的評論中提及@cyclomarc(指的是什麼// @ tchak13說,一個現在應該使用buildURL),所以這是你如何能做到這一點重寫buildURL功能:

App.Adapter = DS.RESTAdapter.extend({ 
    buildURL: function(type, id) { 
    var url = "/" + Ember.String.pluralize(type.typeKey); 
    if (id) { url += "/" + id; } 

    return 'https://api.example.com' + url; 
    } 
}); 

希望它能幫助。

+0

似乎不再支持url和名稱空間選項。我有建議重寫buildUrl,但不知道如何覆蓋buildUrl中的主機和端口。我可以使用buildUrl將例如.json追加到請求中,但不能修改主機名或端口。 – cyclomarc

+0

@cyclopedia,真的嗎?我將不得不更深入地瞭解最新的合併公關,它與我很陌生,這些屬性不再支持......我會盡快回復您 – intuitivepixel

+0

謝謝。從Paul Chavard(@ tchak13)得到了我在歐洲Emberfest會議期間遇到的信息。 – cyclomarc

0

看來beta1中的RESTAdapter有很多回歸。現在,我看它現在爲止,我看到丟失:

  • 命名空間/ URL配置
  • 駝峯到lower_with_underscore屬性映射上獲取URL
  • 查詢參數

的上述非在轉換指南中提到(除非我完全錯過了它)。

+0

我有同樣的經歷。很多在這方面的迴歸,沒有記錄做什麼......複數配置也不再有效。 – cyclomarc

1

請參考上面的鏈接。

注意與當前燼數據測試必須調用自定義適配器「應用程序。ApplicationAdapter」。

如果您嘗試「App.Adapter」,則不起作用。

希望有幫助!