首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Ember Data JSON-API适配器不工作时处理错误

在Ember Data JSON-API适配器不工作时处理错误
EN

Stack Overflow用户
提问于 2016-09-09 00:15:20
回答 1查看 327关注 0票数 2

我在使用JSON-API处理错误时遇到了问题,我做了所有的步骤,就像在文档中写的一样,但它不起作用。

我有一个模型:

代码语言:javascript
复制
 var user = this.get('store').createRecord('user', {
    'email': 'test@test.com',
    'name': 'Lorem ipsum',
    'password': '123',
  });

  user.save().then(function(){
    ...
  }).catch(function(data){
    console.log(user.get('errors'), data);
    // data is ErrorClass  with deserialize errors inside
  });

和接口响应(422 Unprocessable Entity):

代码语言:javascript
复制
    {  
   "errors":[  
      {  
         "detail":"Email address must be between 6 and 128 characters in length",
         "source":{  
            "pointer":"/data/attributes/password"
         }
      }
   ]
   }

在本例中,isError标志为falseuser.get('errors') -> empty

我还尝试了使用500 Internal Server Error代码进行响应

在这种情况下,isError标志是true (正如预期),且错误对象包含在adapterError

所以,我做错了什么,或者试着检查一下,提前谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-09 03:55:04

至于isError标志,如果你得到了验证错误(有422代码的那个),它就不应该是true。它在docs中进行了描述。

你的主要问题是在开头有一个多余的正斜杠。因此您必须将此"pointer":"/data/attributes/password"更改为此"pointer":"data/attributes/password"

完成此更改后,您将能够通过user.get('errors.password');获取此属性的错误

希望它能帮上忙!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39395838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档