编辑API端点的RESTAdapter URL

时间:2014-12-01 16:20:51

标签: javascript ember.js ember-data

我的api端点需要/,但Ember不会添加/。有没有办法编辑RESTAdapter创建的URL,以便添加此斜杠?

目前,网址余下发送的内容为http://www.myapi.com/v1/roles

我需要网址如下所示: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');
  }

});

1 个答案:

答案 0 :(得分:5)

您需要覆盖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