1

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

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

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

我倾向于将它们放在元数据字段中!

非常感谢

4

1 回答 1

1

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

该规范不包括如何格式化这些元信息。我也不知道任何涵盖您的用例的建议或配置文件。所以你应该想出你的 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"
    ]
  }
}

请注意,我说的是fields。JSON:API 规范没有您的问题中使用的术语,但我很确定您的意思是 spec 定义字段

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

于 2019-08-05T09:28:02.877 回答