【发布时间】:2014-06-03 16:50:16
【问题描述】:
我想知道哪种 JSON 数据结构更简单,更方便 REST API 消费者。
假设,我们有 POST 方法,它需要请求体中的复杂数据结构。哪种结构更可取?它们是等价的。
1.
{
SearchPropertiesFilter: [
{ key: 'key1', values: ['value1', 'value2'] },
{ key: 'key1', values: ['value3', 'value4'] },
{ key: 'key2', values: ['value5'] }
],
ResultPropertiesCount: [
{ key: 'key1', count: 100},
{ key: 'key2', count: 500},
]
}
2.
{
SearchPropertiesFilter: {
'key1': [['value1', 'value2'], ['value3', 'value4']],
'key2': [['value5']]
}
ResultPropertiesCount: {
'key1': 100,
'key2': 500
}
}
一方面,第一个例子对消费者来说可能更简单。 另一方面,第二个示例更短且不包含属性名称。
【问题讨论】:
-
您可以使用任何您想要的表示格式,没有 REST 约束。如果你想搜索,那么我建议使用 GET 而不是 POST。 POST 用于创建资源,GET 用于获取资源的表示。
-
是的,我知道,从技术上讲,我可以使用任何一个。但对于消费者来说,哪个更好、更简单?
-
如果您无法为第一个提供任何好处,那么选择第二个?
标签: json api rest data-structures