2014-12-01 81 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