使用REST发送列表/表格数据JSON的正确方法是什么?

时间:2012-10-16 11:18:14

标签: json api rest format

我正在开发RESTful API。我们的一个屏幕显示了总计的表格。

以下是两个用于返回数据的JSON响应

第一

    [
            {
                    "name": "Richard",
                    "bank_balance": 3000,
                    "assets_worth": 4000,
                    "total": 7000
            },
            {
                    "name": "John",
                    "bank_balance": 1000,
                    "assets_worth": 2000,
                    "total": 3000
            },
            {
                    "name": "Total",
                    "bank_balance":4000,
                    "assets_worth": 6000,
                    "total": 10000
            }    
    ]

第二

    {
            "rows": [
                    {
                            "name": "Richard",
                            "bank_balance": 3000,
                            "assets_worth": 4000,
                            "total": 7000
                    },
                    {
                            "name": "John",
                            "bank_balance": 1000,
                            "assets_worth": 2000,
                            "total": 3000
                    }
            ],


            "grand_total": 
            {
                    "name": "Total",
                    "bank_balance":4000,
                    "assets_worth": 6000,
                    "total": 10000
            }    
    }

考虑到REST标准,哪一个更正确?

1 个答案:

答案 0 :(得分:4)

REST仅仅是用于设计网络应用程序的架构风格。它没有直接回答您关于数据结构的问题。

就我个人而言,我会选择第一种方法(只是没有总行),因为可以从行数据中轻微计算总计,结果如下:

[
  {
    name: "Richard",
    bank_balance: 3000,
    assets_worth: 4000,
    total: 7000
  },
  {
    name: "John",
    bank_balance: 1000,
    assets_worth: 2000,
    total: 3000
  }
]

我认为这里的重要设计原则是您的API不应该以数据表示为主。某些使用您的API的应用程序可能会选择以表格格式显示数据,而其他应用程序可能会选择其他一些表示形式。一个好的API能够同样满足不同的应用程序(和用例)。