2014-12-01 48 views
0

我有一个端点需要/的api端点,但是Ember不添加/。有没有办法编辑RESTAdapter创建的URL,以便它添加此斜线?编辑API端点的RESTAdapter url

目前的URL余烬将是http://www.myapi.com/v1/roles

我需要的URL看起来像这样:http://www.myapi.com/v1/roles/

这是我目前的ApplicationAdapter:

import DS from 'ember-data'; 

export default DS.RESTAdapter.extend({ 
    ajaxError: function() { 
    console.log('error'); 
    }, 

    host: 'http://www.myapi.com', 

    namespace: 'v1' 

}); 

这里是我的路由器:

import Ember from 'ember'; 

export default Ember.Route.extend({ 
    model: function(params) { 
    return this.store.find('role'); 
    } 

}); 

回答

4

你会想要覆盖请在ApplicationAdapter上使用buildURL函数来附加尾部斜线。您可以调用DS.RESTAdapter提供的默认buildURL,然后附加斜杠。

下面的代码将是什么样子:

import DS from 'ember-data'; 

export default DS.RESTAdapter.extend({ 
    ajaxError: function() { 
    console.log('error'); 
    }, 

    host: 'http://www.myapi.com', 

    namespace: 'v1', 

    buildURL: function(type, id, record) { 
    //call the default buildURL and then append a slash 
    return this._super(type, id, record) + '/'; 
    } 

}); 

这里的documentation for buildURL

+0

谢谢!我仍然不清楚_super()是什么,但是我在之前查看buildURL时没有尝试调用它。谢谢!!! – Mdd 2014-12-01 21:23:05