J'ai déjà fait des allers-retours ~ 5 fois. Ce point de terminaison REST /api/tags/
sera à usage interne (pas de clients tiers), je suis le seul à travailler avec.
Je décide entre ces deux représentations:
Plat
{
"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
},
]
}
- C'est un peu modulaire. Peut ajouter une autre couche supérieure telle que "pays" sans casser la compatibilité.
Imbriqué
{
"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"
},
}
},
}
- C'est déjà dans un format utilisable. Pas besoin de parcourir les données avant de les utiliser.
- Économise de la bande passante. Même après gzip, c'est légèrement plus petit.
Lequel devrait être utilisé et pourquoi? S'il s'agit d'une préférence personnelle, quelle représentation les développeurs expérimentés préféreraient-ils et pourquoi?
Is this a matter of personal preference?
. Je le pense. Exigences> besoins> préférences