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