从服务器规范化json
我正试图规范化服务器上的一些非常规json数据,以便在ember中使用 json响应如下所示从服务器规范化json,json,api,ember.js,ember-data,ember-cli,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
{
"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中 从“余烬数据”导入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' }
}
});
但这似乎不起作用。我没有在控制台中看到任何错误,但是当我使用余烬数据检查时,似乎没有数据进入余烬存储
我错过了什么明显的东西吗?
有人有其他解决方案/方法吗
谢谢你的帮助 我不会把你的页码放进你的模型里。这就是
元数据
的作用,看你是对的。但这就是我使用的api,我无法控制它。我试图找到一些解决方法。我担心除了滚动您自己版本的REST适配器之外,没有其他解决方案。这是一些很好的信息。我想这是我必须走的路。谢谢