Grape Entity выставляется для делегирования / пересылки другому объекту
При использовании Grape Entity иногда мы хотим выставить несколько полей из внутреннего / связанного объекта. Мы можем просто сделать это:
expose(:bar) { |entity| entity.foo.bar }
Однако, если многие области нуждаются в этой обработке, это может стать очень повторным. Есть ли способ определить делегирование / пересылку, так что куча expose
все связаны с другим объектом?
1 ответ
Создать отдельную сущность для foo
класс, давайте назовем это API::Entities::Foo
, тогда ты можешь
expose :foo, using: API::Entities::Foo
Вы должны следовать рекомендациям REST для сериализации, как это. Вы имеете дело с ресурсами. не разбивайте его на плоские, громоздкие структуры данных.