2

私はRESTful APIに取り組んでいます。私たちの画面の 1 つは、総計の表を示しています。

以下は、データを返すための 2 つの 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
            }    
    ]

2番

    {
            "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標準を考えると、どちらがより正しいですか?

4

1 に答える 1

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 は、さまざまなアプリケーション (およびユース ケース) に同等に対応できます。

于 2012-10-16T11:20:54.100 に答える