2013-09-01 24 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”,则不起作用。

希望有帮助!