いくつかの統計情報を返すAPIエンドポイントがあります。現在、応答は次のようになります。
オプション1:
{
"stats": [
{
"name": "some-stats-key1",
"value": 10
},
{
"name": "some-stats-key2",
"value": 20
}
],
... other keys
}
しかし、これは少し複雑に見え、私はそれをどのようにするのか:
オプション2:
{
"stats": {
"some-stats-key1": 10,
"some-stats-key2": 20
}
... other keys
}
オプション1は拡張が簡単ですが、ユーザーにとって快適ではないことを理解しています。これらのオプションのいずれかを使用して直面する可能性がある他の問題は何ですか?または、次のようなハイブリッドソリューションを作成する必要があります。
オプション3:
{
"stats": {
"some-stats-key1": {
"name": "some-stats-key1",
"value": 10
},
"some-stats-key2": {
"name": "some-stats-key2",
"value": 20
},
},
... other keys
}
キー「some-stats-key1」と「some-stats-key2」は単なる内部値であり、APIユーザーがドキュメントを使用して、それらを読み取り可能な名前にマッピングすることが期待されています。すべてのキーは一意です。
「統計」の順序は重要ではありません。
典型的な使用例は、すべての統計を取得し、キーを判読可能な名前と照合し、Webページにテーブルとして表示することです。しかし、現在のところ、統計の一部だけが必要になる人がいないかどうかは、現時点ではわかりません。
この問題のベストプラクティスはありますか?
Array.forEach
、他のArray
関数とのKey-Valueペアを簡単に反復できます。他の例では、アレイのような操作がさらに複雑になり、クライアントの生活が困難になる可能性があります