我有一个端点,它会响应要填充在可排序表中的数据。但是有些列不是可排序的列,我想使用 JSON:API 规范在响应中传达这些列。
我没有找到太多关于这些细节的信息。
那么与API使用者通信此类数据的最佳方法是什么?
我倾向于的一种观点是将它们放入元数据中 场!
非常感谢
答案 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:
资源对象的属性及其关系统称为其“字段”。