JSONAPISerializer没有向API返回下划线的情况

时间:2015-09-23 15:47:40

标签: ember.js ember-data json-api

我试图通过返回

来检索单个记录
singleGroup: this.store.findRecord('individual_group', group_id)

然后我在控制台中收到此错误:

GET http://localhost:4200/api/v1/individual-groups/349 404 (Not Found)

似乎将individual_groups划分为individual-groups

现在,在API文档中,通过向api/v1/individual_groups/:id发送GET请求找到了一个单独的组

我正在使用JSONAPIAdapter并且已经设置了序列化程序:

export default DS.JSONAPISerializer.extend({
    keyForAttribute: function(attr) {
        return Ember.String.underscore(attr);
    },
    keyForRelationship: function(attr) {
        return Ember.String.underscore(attr);
    }
});

但似乎并没有影响这种特殊情况。

有没有办法确保在我致电this.store.findRecord('individual_group', group_id)时,它会使用

向API发出请求
GET http://localhost:4200/api/v1/individual_groups/349

而不是

GET http://localhost:4200/api/v1/individual-groups/349

1 个答案:

答案 0 :(得分:2)

您应重新定义pathForType adapter methoddefault implementation使用了dasherize:

  //as is
  pathForType: function(modelName) {
    var dasherized = Ember.String.dasherize(modelName);
    return Ember.String.pluralize(dasherized);
  }

  //to be
  pathForType: function(modelName) {
    var underscored = Ember.String.underscore(modelName);
    return Ember.String.pluralize(underscored);
  }