发送有关资源的额外信息的 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”.
我有一个 端点,它响应要填充到 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”.