He cambiado de ida y vuelta ~ 5 veces ya. Este punto final REST /api/tags/
será para uso interno (sin clientes de terceros), soy el único que trabaja con él.
Estoy decidiendo entre estas dos representaciones:
Plano
{
"types":[
{
"id":1,
"text":"Utility"
},
{
"id":7,
"text":"Lease Terms"
},
],
"tags":[
{
"id":8,
"text":"Water",
"type":1
},
{
"id":9,
"text":"Electricity",
"type":1
},
{
"id":5,
"text":"Minimum 12 month lease",
"type":7
},
{
"id":17,
"text":"lease negotiable/flexible",
"type":7
},
]
}
- Es algo modular. Puede agregar otra capa superior como "país" sin romper la compatibilidad.
Anidado
{
"1":{
"text":"Utility",
"tags":{
"8":{
"text":"Water"
},
"9":{
"text":"Electricity"
},
}
},
"2":{
"text":"Lease Terms",
"tags":{
"5":{
"text":"Minimum 12 month lease"
},
"17":{
"text":"lease negotiable/flexible"
},
}
},
}
- Ya está en un formato utilizable. No es necesario recorrer los datos antes de usarlos.
- Ahorra algo de ancho de banda. Incluso después de gzip, esto es un poco más pequeño.
¿Cuál debería usarse y por qué? Si se trata de una cuestión de preferencia personal, ¿qué representación preferirían los desarrolladores experimentados y por qué?
Is this a matter of personal preference?
. Creo que sí. Requisitos> necesidades> preferencias