使用ember和ember-data 2.6版本,我试图让错误处理工作但遇到问题。我正在使用RESTSerializer
,我将以下有效负载发送到我的服务器:
{
"brand": {
"name": null,
"description": null,
}
}]
由于name
不能为空,这就是我作为回复发回的内容:
{
"errors": [{
"code": null,
"detail": "may not be null",
"status": null,
"title": null,
"source": {
"pointer": "brand/name",
"parameter": null
}
}]
}
在我的路线中,我在失败的保存承诺中执行以下操作:
console.log(savedBrand.get('isValid')); // logs false
console.log(savedBrand.get('errors').toArray()); // logs [ ]
似乎没有很多关于这一切如何运作的详细文档,所以我使用this article作为起点。我不确定为什么toArray()
返回一个空数组而不是我在JSON中返回的错误。
答案 0 :(得分:1)
即使我没有按照json-api传递数据,pointer
仍然必须像我一样被设置:
{
"errors": [{
"code": null,
"detail": "may not be null",
"status": null,
"title": null,
"source": {
"pointer": "/data/attributes/name",
"parameter": null
}
}]
}