Sono passato avanti e indietro ~ 5 volte già. Questo endpoint REST presso /api/tags/
sarà per uso interno (nessun client di terze parti), sono l'unico che ci lavora.
Sto decidendo tra queste due rappresentazioni:
Piatto
{
"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
},
]
}
- È in qualche modo modulare. È possibile aggiungere un altro livello superiore come "Paese" senza interrompere la compatibilità.
Nidificato
{
"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"
},
}
},
}
- È già in un formato utilizzabile. Non è necessario eseguire il ciclo dei dati prima di utilizzarli.
- Salva un po 'di larghezza di banda. Anche dopo gzip, questo è leggermente più piccolo.
Quale dovrebbe essere usato e perché? Se si tratta di una preferenza personale, quale rappresentazione preferirebbero gli sviluppatori esperti e perché?
Is this a matter of personal preference?
. Credo di si. Requisiti> bisogni> preferenze