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

What is the JSON:API standard of sending extra information about the resource?

我有一个 端点,它响应要填充到 sortable table 中的数据。但是有些列不是 sortable 列,我想在我的回复中使用 JSON:API 规范来传达这些列。

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

那么与 API 消费者交流此类数据的最佳方式是什么?

One opinion that I am inclined to, is to put them in the metadata field!

非常感谢

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 规范没有在您的问题中使用术语 columns 但我很确定您的意思是 fields as defined by spec:

A resource object’s attributes and its relationships are collectively called its “fields”.