【发布时间】:2017-05-08 02:40:28
【问题描述】:
我正在尝试使用 ember 从我的 REST API 中获取品牌项目;但我的 API 响应与预期的 ember-data 不匹配。例如:
我的模特:
import DS from 'ember-data';
export default DS.Model.extend({
name: DS.attr('string'),
isActive: DS.attr('boolean')
});
我的 API 网址:http://localhost:3000/api/brands 它的回应是:
{"success":true,
"data":[
{"id":1,"name":"Mine","isActive":true,"createdAt":"2017-04-23T20:36:49.000Z","updatedAt":"2017-04-23T20:44:32.000Z"},
{"id":2,"name":"forever","isActive":true,"createdAt":"2017-04-23T20:41:14.000Z","updatedAt":"2017-04-23T20:43:57.000Z"}
]
}
但是,Ember 期待这样的结果:
"brands": [{
"id": 1,
"name": "foo",
"isActive": "foo"
}]
我正在尝试更改名为 brand.js 的序列化程序中的根 json 节点,但无法使其正常工作。 :(
这是我的序列化程序/brand.js
import DS from 'ember-data';
export default DS.RESTSerializer.extend({
});
还有我的适配器/application.js
import DS from 'ember-data';
import DataAdapterMixin from 'ember-simple-auth/mixins/data-adapter-mixin';
import config from '../config/environment';
export default DS.RESTAdapter.extend(DataAdapterMixin, {
host: `${config.host}`,
namespace: `${config.namespace}`,
authorizer: 'authorizer:custom'
});
在浏览器控制台上显示此消息:
WARNING: Encountered "success" in payload, but no model was found for model name "success" (resolved model name using vanely-web@serializer:brand:.modelNameFromPayloadKey("success"))
WARNING: Encountered "data" in payload, but no model was found for model name "datum" (resolved model name using vanely-web@serializer:brand:.modelNameFromPayloadKey("data"))
我怎样才能告诉 ember 正确的数据在哪里?。感谢您的帮助。
如果我的英语不好,请见谅。
【问题讨论】:
标签: javascript ember.js ember-data ember-cli