Json REST端点的哪个结果更常见?

Json REST端点的哪个结果更常见?,json,rest,architecture,Json,Rest,Architecture,我们正在设计REST-API,我们想知道REST端点应该以什么形式返回数据? 我们有一个端点,它返回具有不同属性的所谓“标识”对象。 每个“标识”都有唯一的字符串,例如UUID#cf684c35-200e-4936-8b63-e6e51b6e3569 我们想知道开发人员更习惯哪种格式? 如下所示: { "UUID#cf684c35-200e-4936-8b63-e6e51b6e3569": { "validity_date": 16085911

我们正在设计REST-API,我们想知道REST端点应该以什么形式返回数据? 我们有一个端点,它返回具有不同属性的所谓“标识”对象。 每个“标识”都有唯一的字符串,例如UUID#cf684c35-200e-4936-8b63-e6e51b6e3569

我们想知道开发人员更习惯哪种格式?
如下所示:

{
  "UUID#cf684c35-200e-4936-8b63-e6e51b6e3569": {
    "validity_date": 1608591121,
    "visibility": "private"
  },
  "RFID#cf684c35-200e-4936-8b63-e6e51b6e3570": {
    "validity_date": 1608591123,
    "visibility": "public".
  }
}


你的意见是什么?

我认为它比它好


说它,在我看来,第二个更好,因为[在某些语言上]绘制它比绘制第一个更容易。

TL;DR我建议使用对象列表(第二种方法)

让我们将您的对象带到一个更明显的例子,即具有
id
名称的用户:

{
1: {
“姓名”:“迈克尔”
},
2: {
“姓名”:“托马斯”
}
}
[
{
“id”:1,
“姓名”:“迈克尔”
},
{
“id”:2,
“姓名”:“托马斯”
}
]
这两种方法都可以使用,我看不出与API级别本身有什么不同

但是让我们考虑一个应用程序如何提供或消耗这样的数据:

  • 获取用户的数据库表(例如,其生日是下周)
  • 显示用户表(例如用户名和生日)
  • 处理员工的月工资
这三个示例都使用一个用户列表,这是第二种方法。由于许多应用程序在实体列表上运行,这是API的常识

{
  "results": [
    {
      "identity": "UUID#cf684c35-200e-4936-8b63-e6e51b6e3569",
      "validity_date": 1608591121,
      "visibility": "private"
    },
    {
      "identity": "RFID#cf684c35-200e-4936-8b63-e6e51b6e3570",
      "validity_date": 0,
      "visibility": "1608591123"
    },
  ]
}