Ember.js FindRecord无效的ID

时间:2016-10-26 19:38:49

标签: ember.js ember-data json-api

如果条目不存在,我正在尝试查看API调用中是否存在返回{data:null}的条目。当呼叫解决时,我收到以下错误:

Cannot read property 'constructor' of null

我想要做的是如果条目不存在我想创建它。如果确实存在,我想更新模型。不知道我做错了什么。

我还创建了适合JSON API标准的API,因此我也可以更改服务器的响应。

1 个答案:

答案 0 :(得分:0)

我同意@Keo,从API自定义响应代码可能更容易,但如果您无权访问API代码,则可以拦截序列化程序中normalizeResponse的有效负载在那里做检查。

import JSONAPISerializer from 'ember-data/serializers/json-api';

export default JSONAPISerializer.extend({
  /**
   * normalize the response from the server to a format
   * that ember data will work well with
   */
  normalizeResponse(store, primaryModelClass, payload, id, requestType) {
    if (!payload || !payload.data) {
      // react to empty payload here
    } else {
      // pass through the payload with data to the store 
      return this._super(store, primaryModelClass, payload, id, requestType);      
    }
  }
});