Saya memiliki titik akhir API yang mengembalikan beberapa statistik. Saat ini responsnya seperti:
Pilihan 1:
{
"stats": [
{
"name": "some-stats-key1",
"value": 10
},
{
"name": "some-stats-key2",
"value": 20
}
],
... other keys
}
Tapi ini terlihat agak rumit dan saya harus membuatnya seperti apa:
Pilihan 2:
{
"stats": {
"some-stats-key1": 10,
"some-stats-key2": 20
}
... other keys
}
Saya mengerti bahwa Opsi 1 lebih mudah diperpanjang, tetapi kurang nyaman bagi pengguna. Apa masalah lain yang bisa saya hadapi menggunakan salah satu opsi ini? Atau haruskah saya membuat solusi hybrid seperti:
Opsi 3:
{
"stats": {
"some-stats-key1": {
"name": "some-stats-key1",
"value": 10
},
"some-stats-key2": {
"name": "some-stats-key2",
"value": 20
},
},
... other keys
}
Kunci "some-stats-key1" dan "some-stats-key2" hanyalah nilai internal dan diharapkan pengguna API akan memetakannya menjadi nama yang dapat dibaca menggunakan dokumentasi. Semua kunci unik.
Urutan "statistik" tidak penting.
Kasus penggunaan yang umum adalah hanya untuk mendapatkan semua statistik, mencocokkan kunci dengan nama yang dapat dibaca dan ditampilkan sebagai tabel di halaman web. Tetapi saat ini saya tidak bisa mengatakan jika tidak ada yang akan membutuhkan hanya sebagian dari statistik nanti.
Apakah ada praktik terbaik untuk masalah ini?
Array.forEach
dan Array
fungsi lainnya . Contoh Anda yang lain akan menambah kompleksitas tambahan untuk operasi mirip array, yang bisa membuat hidup Anda lebih sulit bagi klien Anda