【问题标题】:Handling Ember model error w/ JSONAPI使用 JSONAPI 处理 Ember 模型错误
【发布时间】:2016-10-05 10:34:27
【问题描述】:

这已经是大多数部分的答案: Handling errors with the (now default) Ember Data JSON-API adapter

我什至不会讨论 Ember 文档如何强调遵循 JSON API 规范 (http://jsonapi.org/format/),但据我所知,他们甚至不遵守它们(基于上面链接的答案) ...但我离题了!

我不确定如何从 model() 钩子本身将错误引入我的模型。

例如:

import Ember from 'ember';

export default Ember.Route.extend({
    model() {
        return this.get('store').findAll('page').catch(function(){});
    }
});

我无法访问我的模板中的错误:

{{#each model.errors as |error|}}
    <div class="error msg_animate">{{{error.message}}}</div>
{{/each}}

我知道我在这里遗漏了一个关键因素。 谁能指出我正确的方向?

【问题讨论】:

  • 错字:{{{error.message}}}

标签: ember.js json-api


【解决方案1】:

错误响应应遵循标准 JSON API 格式,

http://jsonapi.org/format/#errors

示例格式,

{
  "errors": [
    {
      "status": "Error status",
      "code": 500,
      "message":"error message",
      "detail": "Some generic non property error message",
      "source": {
        "pointer": "data"
      }
    }
  ]
}

最重要的是,你需要为 Promise 包含错误函数回调, 样品,

model() {
 return this.get('store').findAll('page').then(
     function(result){return result;},
     function(errors){ return errors; });
 }

【讨论】:

  • 格式不是问题。那是我没有从承诺中返回错误。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多