Я пытаюсь построить API в рельсах, используя Спецификация JSON API
Моя модель User имеет объекты изменений, связанные с ними.Например, пользователь может иметь следующее изменение:
{
id: 10,
type: 'changes',
diffs: [
{
subject: 'email',
from: 'old@example.org',
to: 'new@example.org'
},
{
subject: 'tags',
from: []
to: [{ id: 1, type: 'tags', label: 'Ruby' }]
}
]
}
Как видите, свойство diffs
содержит массив различий изменений, а второе различие - массив разностей объектов.Я хотел бы изменить этот формат (если это возможно), чтобы он соответствовал спецификации JSON API.Например:
{
subject: 'tags',
from: []
to: [{ id: 1, type: 'tags' }]
}
И поместите атрибуты тега во включенный раздел:
included: [
{
id: 1,
type: 'tags',
attributes: { label: 'Ruby' }
}
]
Вопрос : различия - это массив объектов (не записей, онине имеют идентификатора), которые содержат поля с записями.Можно ли отформатировать ответ так, чтобы глубоко вложенные записи (например, теги в моем случае) были ссылками на записи во включенном разделе?
Я хотел бы использовать fast_jsonapi gem