【问题标题】:How does JSONAPI translate type/id into navigable URLs?JSONAPI 如何将 type/id 转换为可导航的 URL?
【发布时间】:2016-02-05 06:01:48
【问题描述】:

JSONAPI specification, under 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的人,但我实际上无法对这些信息做任何有用的事情。

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

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

【问题讨论】:

    标签: rest json-api hypermedia


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-05
      • 2021-10-30
      • 2015-09-24
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 2013-04-08
      相关资源
      最近更新 更多