Ember 错误地反序列化 json 数据

Ember incorrectly deserialize json data

所以我有一个 Spring 引导 api 返回列表中的一堆记录,就像这样:

[
  {
    "uid": 16587783,
    "createdAt": 1391708660000,
    "name": "FRaaS",
    "fullName": "caarlos0/FRaaS",
    "description": "Fake RT as a Service",
    "homepage": "http://fraas.herokuapp.com/",
    "owner": "caarlos0",
    "organization": null,
    "joined": false,
    "private": false
  },
  ....
  more records
]

但是当我尝试在模板中读取它时,出现以下错误

WARNING: Encountered "0" in payload, but no model was found for model name "0" (resolved model name using chathub-ember@serializer:-rest:.modelNameFromPayloadKey("0"))

这是我当前的适配器

import DS from 'ember-data';
import Ember from 'ember';

export default DS.RESTAdapter.extend({
  host: 'http://127.0.0.1:8080/v1',
  primaryKey: 'uid',
  headers: Ember.computed('session.data.authenticated.currentUser.backendAccessToken', function() {
    return {
      "Auth-Token": this.get("session.data.authenticated.currentUser.backendAccessToken"),
    };
  })
});

我可以在 ember 中做什么以允许它读取我发送的数据?如果需要,我可以更改 API,但我不想

您需要使用RESTSerializerprimaryKey 用于序列化程序而不是适配器。我认为您在应用程序中使用了 json 序列化程序。

更新

将以下内容添加到您的应用程序序列化器

normalizeSingleResponse(store, primaryModelClass, payload, id, requestType) {
        let typeKey = primaryModelClass.modelName;
        let ret = {};
        ret[typeKey] = payload;
        return this._normalizeResponse(store, primaryModelClass, ret, id, requestType, true);
    },

    normalizeArrayResponse(store, primaryModelClass, payload, id, requestType) {
        let pluralTypeKey = Ember.Inflector.inflector.pluralize(primaryModelClass.modelName);
        let ret = {};
        ret[pluralTypeKey] = payload;
        return this._normalizeResponse(store, primaryModelClass, ret, id, requestType, false);
    }