Rails JSON API: добавить элемент верхнего уровня для доступа по API-интерфейсу id

У меня есть API JSON, который возвращает коллекцию объектов, API использует to_json и to_json ActiveModel::Serializer для генерации JSON. Я получаю JSON со структурой, которая выглядит так:

{
 "objects": [ 
 { "id": 1, "key1": 2 }, { "id": 2, "key2": 3 } 
 ]
}

Я хочу сохранить ту же структуру для API-интерфейса "get by id", который возвращает один объект. В настоящее время get id возвращается после структуры JSON:

{ "id": 1, "key1": 2 }

Есть ли способ обернуть JSON для получения API-интерфейса id в корневом элементе? Я хочу, чтобы структура JSON выглядела так:

{
 "objects": { "id": 1, "key1": 2 }
}
1 ответ

Вы не очень много рассказали о своих деталях реализации, но я бы посоветовал jbuilder в jbuilder GEM. Это обеспечивает немного большую гибкость при разработке API, чем то, что вы обычно получаете "из коробки" с Rails:

https://github.com/rails/jbuilder

licensed under cc by-sa 3.0 with attribution.