我正在尝试使用带有ember-cli 2.5.1的JSON API适配器,但我遇到了一些麻烦。
我有一个todo-list.js模型,它与todo-list-item.js有“hasMany”关系。获取todo-list,服务器返回:
{
"links": {
"self": "http://localhost:4200/service/v1/todolists/b-tlst-af69786c-cbaf-4df9-a4a3-d8232677006a"
},
"data": {
"type": "todo-list",
"id": "b-tlst-af69786c-cbaf-4df9-a4a3-d8232677006a",
"attributes": {
"name": "b1-TodoList",
"created-on": 1468474962458,
"modified-on": 1468474962458
},
"relationships": {
"todolistitems": {
"data": {
"type": "todo-list-item",
"id": "b-todo-b5e3c146-d93a-4f97-8540-875bbcd156ca"
}
}
}
}
}
如果有两个TodoListItem子节点而不是一个,那么“data”键的值将是一个数组,而不是一个对象。
收到此消息后,我期待Ember Chrome插件的“数据”标签显示1个TodoList和1个孩子TodoListItem。相反,它显示1个TodoList和0个TodoListItems。
我从网络标签中注意到,浏览器从未请求获取响应的“数据”部分中列出的项目。
上面的关系部分是否正确且充足?
答案 0 :(得分:0)
事实证明,这是由客户端的承诺误解引起的,此外,在服务器上我必须将破折号放在“关系”键(即“todo-list-items”)中并使其值为“数据”是一个数组。