JSONAPI序列化程序未将下划线大小写返回到 API

JSONAPISerializer not returning underscore case to API

我正在尝试通过返回

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

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

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

它似乎在 individual_groupsindividual-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

你应该重新定义 pathForType adapter method. The default 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);
  }