2013-02-18 72 views
4

我正在编写一个从Lastfm API中抽取大部分数据的ember应用程序。该API不是RESTful。我不确定我应该定制什么样的抽象级别。我是否应该编写一个自定义的LastFm余烬数据适配器?或者我应该只是将所有的数据都放在一起?何时编写自定义的ember-data适配器?

他们返回类似这样的数据:

{ "recenttracks" : { "meta" : {}, "tracks" : [ { track info }, { track info } ] } } 

对于请求数据,他们有涉及发送method参数的方案。所以,不是最糟糕的事情,但肯定不是RESTful。

无论如何,只是寻找一点方向,因为我是新来的烬数据。

谢谢!

回答

3

就个人而言,我会创建一个新的适配器,不一定RESTAdapter,参数传递到findfindAll

var lastFmAdapter = DS.Adapter.create({ 
    find: function (store, type, id) { }, 
    findAll: function (store, type) { } 
}); 
+2

更多信息吗?我将不胜感激 – 2013-08-04 16:59:30

+0

是更详细将是伟大的。我想创建一个适配器,它可以在第一次访问时下载并缓存结果,并且可以根据需要进行刷新。这个API不一定是纯粹的“RESTful”,所以我也想亲自体验一下这个结构。 – 2013-08-06 20:06:10

+0

看看实现:https://github.com/emberjs/data/tree/v2.7.0/addon/adapters - >你基本上可以将自己的实现添加到app/adapters/application.js中 – qknight 2016-09-28 19:27:37