Ember从服务器规范化json

时间:2015-03-27 20:16:56

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

我正在尝试将服务器中的一些非常规json数据规范化,以便在ember中使用。

json响应看起来像这样

{
   "pagingAndSorting": {
   "pageSize": 2,
   "ascending": false,
   "pageNumber": 5
},
"list": [
 {
    "recommendedDosage": "400mg Tablets",
    "active": true,
    "name": "ANT-Norfloxacin",
    "id": "FE102EDA-984A-41A3-B9C8-3E13B98A864A",
    "identifiers": []
  },
  {
     "recommendedDosage": "",
     "active": true,
     "name": "ANT-Penicillin Injection",
     "id": "F8DE6184-0F91-4DA9-A611-2B78F4B85D25",
     "identifiers": []
  },
  {
     "recommendedDosage": "",
     "active": true,
     "name": "ANT-Spectinomycin",
     "id": "73205995-0CF2-4744-A856-F74B81355661",
     "identifiers": []
  }],
  "fullListSize": 574
}

我创建了以下模型

app / model / paging-and-sorting.js

import DS from 'ember-data';

export default DS.Model.extend({
  pageNumber : DS.attr('number',{defaultValue: 0}),
  pageSize : DS.attr('number',{defaultValue: 40}),
  ascending : DS.attr('boolean', {defaultValue: false})
});

在app / models / medicine.js中

    从'ember-data'导入DS;

export default DS.Model.extend({
  name: DS.attr('String'),
  identifiers: DS.attr(''),
  active: DS.attr('Boolean',{defaultValue: true}),
  id: DS.attr('String'),
  recommendedDosage : DS.attr('String')
});

在app / models / medicine-list.js

import DS from 'ember-data';

export default DS.Model.extend({
  pagingAndSorting: DS.belongsTo('paging-and-sorting'),
  list: DS.hasMany('medicine'),
  fullListSize: DS.attr('number')
});

在app / serializers / medicine-list.js中我有

import DS from 'ember-data';

//For the embedded Ember model
export default DS.JSONSerializer.extend(DS.EmbeddedRecordsMixin, {
  attrs: {
    pagingAndSorting : { embedded: 'always' },
    list: { embedded: 'always' }
  }
});

但这似乎不起作用。我没有在控制台中看到任何错误,但是当我使用ember数据进行检查时,似乎没有数据进入ember存储。

我错过了一些明显的东西吗? 有没有人有其他解决方案/方法?

感谢您的帮助!

0 个答案:

没有答案