aha*_*ham 2 ember.js ember-data ember-cli
我有两个模型员工和 empdetails
//employee model
import DS from 'ember-data';
export default DS.Model.extend({
empId : DS.attr(),
password : DS.attr(),
email : DS.attr(),
empdetails : DS.belongsTo("empdetails")
});
//empdetails model
import DS from 'ember-data';
export default DS.Model.extend({
firstName : DS.attr(),
lastName : DS.attr(),
dateOfJoining: DS.attr(),
employee : DS.belongsTo("employee")
});
Run Code Online (Sandbox Code Playgroud)
我使用 RESTAdapter 进行 REST 调用。
//serializer
import DS from 'ember-data';
export default DS.JSONSerializer.extend({
});
Run Code Online (Sandbox Code Playgroud)
当我尝试为员工发出获取请求时,出现以下错误
请检查您的序列化程序并确保它将关系负载序列化为 JSON API 格式。错误:断言失败:遇到了一个没有属于属于关系的类型的关系标识符 'empdetails' on ,需要一个类型为 'empdetails' 的 json-api 标识符,但找到了 '{"id":"1","firstName":"xxx "}
我从我的后端得到以下 JSON
[
{
"id": 1,
"email": "xyz@gmail.com",
"password": "12345678",
"empdetails": {
"id": 1,
"firstName": "xxx",
"lastName": "yyy",
"dateOfJoining": "22-10-2018"
}
}
]
Run Code Online (Sandbox Code Playgroud)
有人可以指导我纠正错误吗
小智 6
尝试按如下方式更新您的员工序列化程序:
import DS from 'ember-data';
export default DS.JSONSerializer.extend(DS.EmbeddedRecordsMixin, {
attrs: {
empdetails: {
serialize: 'records',
deserialize: 'records'
}
}});
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参阅此文章。
| 归档时间: |
|
| 查看次数: |
1294 次 |
| 最近记录: |