Я разрабатываю новый API для своего проекта и хочу вернуть объекты с вложенными дочерними объектами в виде json.Для этой цели я решил использовать RABL.
Я хочу, чтобы клиентская сторона могла понять, является ли объект действительным, и если нет, то какие поля отсутствуют, чтобы сохранить его правильно.
Дизайн, о котором я думал, должен включать некоторые поля как необязательные, под необязательным хешем, а остальные обязательны.Обязательные поля должны появиться прямо под корнем JSON.Поэтому вывод, который я пытаюсь описать, должен выглядеть примерно так:
{
"name": "John",
"last_name": "Doe",
"optional": {
"address": "Beverly Hills 90210",
"phones":[{"number":"123456","name":"work"}, {"number":"654321","name":"mobile"}]
}
}
В приведенном выше примере вывода описываются обязательные поля, имя и фамилия, а также необязательный адрес и телефоны (которые связаны сотношение has_many к объекту).имя, фамилия и адрес являются полями БД пользователя.
Игра с RABL До сих пор мне не удалось создать такую структуру.
Есть предложения?Я ищу СУХОЙ способ реализовать это для всех моих моделей.