发送有关资源的额外信息的JSON:API标准是什么?

时间:2019-07-26 19:29:02

标签: response json-api jsonapi-resources

我有一个端点,它会响应要填充在可排序表中的数据。但是有些列不是可排序的列,我想使用 JSON:API 规范在响应中传达这些列。

我没有找到太多关于这些细节的信息。

那么与API使用者通信此类数据的最佳方法是什么?

  

我倾向于的一种观点是将它们放入元数据中   场!

非常感谢

1 个答案:

答案 0 :(得分:1)

JSON:API允许您使用meta object提供非标准元信息。元信息可以针对完整文档,针对每个资源或针对每个资源的关系。支持排序的字段信息是整个文档的元信息。

该规范未涵盖如何格式化此类元信息。我也不知道涵盖您的用例的任何建议或个人资料。因此,您应该提出特定于API的实现。例如。您可以提供一个字段数组,该字段可用于根据元对象的sortable键进行排序。如果支持按关系字段进行排序,则可以使用点分隔的路径。这将与included查询参数的值一致。

一个例子可能像这样:

{
  "data": [
    { 
      "type": "posts",
      "id": "1",
      "attributes": {
        "title": "An example post",
        "createdAt": "2019-08-05T11:11:11.000Z",
        "body": "..."
      },
      "relationships": {
        "author": {
          // ...
        },
      }
    },
    // ...
  },
  "meta": {
    "sortable": [
      "author.name",
      "createdAt",
      "title"
    ]
  }
}

请注意,我所说的是领域。 JSON:API规范在您的问题中未使用术语,但我很确定您将 fields 的意思表示为defined by spec

  

资源对象的属性及其关系统称为其“字段”。