【问题标题】:JsonAPI nested relationships with Ember DataJsonAPI 与 Ember 数据的嵌套关系
【发布时间】:2015-11-30 19:45:16
【问题描述】:

我正在尝试处理带有嵌套关系的 JSONAPI 响应。 Ember-Data 目前正在提取“包含”属性中的所有数据并将其全部推送到正确的模型中,但我的“转录”对象和“提示点”对象之间的关系不起作用。 'video' 和 'transcription' 对象之间的关系工作正常,所以我需要帮助的就是嵌套部分。

这是我使用的数据示例:

{
   "data":{
      "type":"video",
      "id":"55e0687ba1f9e8032c549680",
      "attributes":{
         "title":"Test32"
      },
      "relationships":{
         "transcriptions":{
            "data":[
               {
                  "relationships":{
                     "cuepoints":{
                        "data":[
                           {
                              "id":"55e9b62446942224a0f456cc",
                              "type":"cuepoint"
                           }
                        ]
                     }
                  },
                  "id":"55e0687ba1f9e8032c549680-transcription-0",
                  "type":"transcription"
               }
            ]
         }
      }
   },
   "included":[
        {
           "type":"transcription",
           "id":"55e0687ba1f9e8032c549680-transcription-0",
           "attributes":{
              "language":"English"
           }
        },
      {
         "type":"cuepoint",
         "id":"55e9b62446942224a0f456cc",
         "attributes":{
            "cueIndex":0,
            "startTimeMilliseconds":0,
            "endTimeMilliseconds":4400,
            "text":"- The first one is the L'Oreal Paris Extraordinary Oil."
         }
      }
   ]
}

知道我该如何处理吗?

【问题讨论】:

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


    【解决方案1】:

    虽然我没有测试过这种特殊情况,但您的 JSON 似乎不兼容。

    在顶级relationships 键下,放置“关系”对象,在included 中放置“资源”对象。资源对象包含关系定义。

    简而言之,将嵌套关系移出顶级relationships 并移至included

    【讨论】:

    • 它在 JSON API 规范中的任何地方都提到了这一点吗?
    • 引用:“此外,资源对象可以包含以下任何顶级成员:属性:表示资源的某些数据的属性对象。关系:描述资源和资源之间关系的关系对象其他 JSON API 资源。链接:包含与资源相关的链接的链接对象。元:包含有关资源的非标准元信息的元对象,不能表示为属性或关系。”另请参阅“一个“关系对象”必须至少包含以下之一......”
    • 你是我的英雄。像魅力一样工作。您的解决方案绝对有道理,但我的大脑被它绊倒了。谢谢!
    猜你喜欢
    • 2016-01-07
    • 2015-02-21
    • 2017-10-09
    • 2015-11-15
    • 2018-11-04
    • 1970-01-01
    • 2014-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多