1

JSONAPI 规范中,在 Resource Objects 下,它给出了以下资源示例:

{
  "type": "articles",
  "id": "1",
  "attributes": {
    "title": "Rails is Omakase"
  },
  "relationships": {
    "author": {
      "links": {
        "self": "/articles/1/relationships/author",
        "related": "/articles/1/author"
      },
      "data": { "type": "people", "id": "9" }
    }
  }
}

如果我不使用资源包含,我的客户应该如何处理包含在以下内容中的信息:

"data": { "type": "people", "id", "9" }

响应包含指向article的作者 ( /articles/1/author) 的链接 - 通过阅读data { ... }响应的元素,我可以看出本文的作者是拥有 的人id=9,但我实际上无法对这些信息做任何有用的事情。

我可以使用此信息发出 GET 请求以/people/9检索作者详细信息,这似乎很直观,但这似乎不是 JSONAPI 规范的一部分(尽管有关于资源集合 URL的建议)

内联type/id信息是否仅在资源包含或与某些先前缓存的响应数据交叉引用的上下文中相关?或者是否有关于翻译type+id成资源 URL ( GET /{type}/{id}) 的未记录约定?

4

1 回答 1

0

它用于交叉引用从服务器检索到的其他数据。person:9您可能会在其他时间偶然加载记录,并且知道author关系article:1将节省您发送GET到的麻烦/articles/1/relationships/author

例如,ember-data客户端存储会自动为您解析引用。

于 2015-11-04T22:50:15.637 回答