我是ember.js的初学者。我试图使用ember数据进行restful api。然而,路上有一些惯例。例如App.Post.find()
对应http://www.example.com/posts
。
但由于我的应用程序当前模式,我的所有数据列表都列在/post/list
下,我该怎么办?在这里,我使用的是帖子而非帖子,而不是使用/posts
,而是使用/post/list
。
请帮忙。
答案 0 :(得分:0)
很容易改变适配器构建url的方式。您只需扩展当前适配器并覆盖构建URL的方法。在您的情况下,我正在设置应用程序适配器(意味着它将适用于所有类型)。当你提供一个特定的id
时,我不确定如何构建url,但我很确定这足以让你开始,你可以从这一点开始玩字符串操作游戏。 / p>
App.ApplicationAdapter= DS.RESTAdapter.extend({
pathForType: function(type) {
var camelized = Ember.String.camelize(type);
return camelized; //Ember.String.pluralize(camelized);
},
buildURL: function(type, id) {
var url = [],
host = Em.get(this, 'host'),
prefix = this.urlPrefix();
if (type) { url.push(this.pathForType(type)); }
url.push('list');
if (id) { url.push(id); }
if (prefix) { url.unshift(prefix); }
url = url.join('/');
if (!host && url) { url = '/' + url; }
return url;
}
});