У меня есть модель в БД со следующей структурой
- id
- key
- value_type (может быть 'String', 'Integer' и ' Boolean ')
- string_value
- int_value
- bool_value
Где только один из string_value
, int_value
или bool_value
имеет значение в то время как остальные 2 равны нулю, зависит от значения value_type
. например:
id:1, key:'key1', value_type:'String', string_value:'random string', int_value:null, bool_value: null
id:2, key:'key2', value_type:'Integer', string_value:NULL, int_value:777, bool_value:NULL
id:3, key:'key3', value_type:'Boolean', string_value:NULL, int_value:NULL, bool_value:false
Я хочу открыть конечную точку, чтобы разрешить GET для сущностей этого типа, и рассмотреть две следующие структуры JSON для возвращаемого объекта:
Опция 1:
{
id:<id>,
key:<key>,
value_type:<value_type>,
value:<a string representation of the value>
}
, например:
{
id:2,
key:"key2",
value_type:"Integer",
value:"777"
}
Вариант 2:
{
id:<id>,
key:<key>,
value_type:<value_type>,
string_value:<string_value>,
integer_value:<integer_value>,
boolean_value:<boolean_value>
}
, например:
{
id:2,
key:"key2",
value_type:"Integer",
string_value:null,
integer_value:777
boolean_value:null
}
Первый вариант чище, пока второй более безопасен. Есть ли какие-либо стандарты или соображения, которые необходимо принять, прежде чем делать выбор?