Я вже перемикався вперед і назад ~ 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?
. Я думаю так. Вимоги> потреби> уподобання