Tengo un punto final de API que devuelve algunas estadísticas. Actualmente la respuesta se ve así:
Opción 1:
{
"stats": [
{
"name": "some-stats-key1",
"value": 10
},
{
"name": "some-stats-key2",
"value": 20
}
],
... other keys
}
Pero esto parece un poco complejo y sé cómo hacerlo:
Opcion 2:
{
"stats": {
"some-stats-key1": 10,
"some-stats-key2": 20
}
... other keys
}
Entiendo que la Opción 1 es más fácil de extender, pero menos cómoda para los usuarios. ¿Qué otros problemas puedo enfrentar usando una de estas opciones? ¿O debería hacer una solución híbrida como:
Opcion 3:
{
"stats": {
"some-stats-key1": {
"name": "some-stats-key1",
"value": 10
},
"some-stats-key2": {
"name": "some-stats-key2",
"value": 20
},
},
... other keys
}
Las claves "some-stats-key1" y "some-stats-key2" son solo valores internos y se espera que el usuario de la API los asigne a nombres legibles utilizando la documentación. Todas las llaves son únicas.
El orden de las "estadísticas" no es importante.
El caso de uso típico es solo obtener todas las estadísticas, hacer coincidir las claves con nombres legibles y mostrarlas como una tabla en una página web. Pero actualmente no puedo decir si nadie necesitará solo una parte de las estadísticas más adelante.
¿Existe una mejor práctica para este problema?
Array.forEach
y otras Array
funciones. Sus otros ejemplos agregarán complejidad adicional a las operaciones de tipo matriz, lo que podría estar dificultando la vida de sus clientes