Я создаю API веб-службы, используя JSON в качестве языка данных. При разработке структуры данных, возвращаемых службой, у меня возникли некоторые проблемы с принятием решения о том, как поступить с отсутствующими значениями.
Рассмотрим этот пример: у меня есть продукт в моем интернет-магазине, цена на который еще неизвестна, возможно, потому что продукт еще не выпущен. Включу ли я price: null
(как показано ниже) или просто опущу свойство price
для этого элемента?
{
name: 'OSX 10.6.10',
brand: 'Apple',
price: null
}
Моя основная задача - сделать API настолько простым в использовании, насколько возможное. Явное нулевое значение проясняет, что цена
может ожидаться от продукта, но, с другой стороны, это кажется потраченными байтами. Может быть целый ряд свойств, которые совершенно не имеют отношения к этому конкретному продукту, но имеют отношение к другим продуктам - следует ли мне указать их как явно null
?
{
name: 'OSX 10.6.10',
price: 29.95,
color: null,
size: null
}
Существуют ли какие-либо «лучшие практики» в отношении дизайн веб-сервисов, предпочитающий явные или неявные нулевые значения? Какой-нибудь стандарт де-факто? Или это полностью зависит от варианта использования?