Tôi có một điểm cuối API trả về một số thống kê. Hiện tại phản hồi có vẻ như:
Lựa chọn 1:
{
"stats": [
{
"name": "some-stats-key1",
"value": 10
},
{
"name": "some-stats-key2",
"value": 20
}
],
... other keys
}
Nhưng điều này có vẻ hơi phức tạp và tôi phải làm thế nào:
Lựa chọn 2:
{
"stats": {
"some-stats-key1": 10,
"some-stats-key2": 20
}
... other keys
}
Tôi hiểu rằng Tùy chọn 1 dễ dàng được mở rộng hơn, nhưng ít thoải mái hơn cho người dùng. Những vấn đề khác tôi có thể phải đối mặt bằng cách sử dụng một trong các tùy chọn này? Hoặc tôi nên tạo một giải pháp lai như:
Tùy chọn 3:
{
"stats": {
"some-stats-key1": {
"name": "some-stats-key1",
"value": 10
},
"some-stats-key2": {
"name": "some-stats-key2",
"value": 20
},
},
... other keys
}
Các khóa "some-stats-key1" và "some-stats-key2" chỉ là các giá trị bên trong và người dùng API dự kiến sẽ ánh xạ chúng thành các tên có thể đọc được bằng tài liệu. Tất cả các phím là duy nhất.
Thứ tự "thống kê" không quan trọng.
Trường hợp sử dụng thông thường chỉ là lấy tất cả các số liệu thống kê, khớp các khóa với tên có thể đọc được và hiển thị dưới dạng bảng trên trang web. Nhưng hiện tại tôi không thể nói nếu không ai sẽ chỉ cần một phần của số liệu thống kê sau này.
Có một thực hành tốt nhất cho vấn đề này?
Array.forEach
và các Array
chức năng khác . Các ví dụ khác của bạn sẽ tăng thêm độ phức tạp cho các hoạt động giống như mảng, điều này có thể gây khó khăn cho khách hàng của bạn