Я переключался туда и обратно ~ 5 раз уже. Эта конечная точка REST по /api/tags/
желанию предназначена для внутреннего использования (без сторонних клиентов), я единственный, кто работает с ней.
Я выбираю между этими двумя представлениями:
Плоский
{
"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
},
]
}
- Это несколько модульно. Можно добавить еще один верхний слой, например «страна», не нарушая совместимость.
Уплотненный
{
"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"
},
}
},
}
- Это уже в удобном для использования формате. Не нужно перебирать данные перед использованием.
- Сохраняет некоторую пропускную способность. Даже после gzip это немного меньше.
Какой из них следует использовать и почему? Если это вопрос личных предпочтений, какое представление предпочитают опытные разработчики и почему?
Is this a matter of personal preference?
, Я думаю так. Требования> потребности> предпочтения