使用 Grape Entity 时,有时我们希望从内部/相关对象中公开一些字段。我们可以通过以下方式简单地做到这一点:
expose(:bar) { |entity| entity.foo.bar }
但是,如果许多领域需要这种处理,这可能会变得非常重复。有没有办法定义委托/转发,所以一堆expose
都与另一个对象相关联?
使用 Grape Entity 时,有时我们希望从内部/相关对象中公开一些字段。我们可以通过以下方式简单地做到这一点:
expose(:bar) { |entity| entity.foo.bar }
但是,如果许多领域需要这种处理,这可能会变得非常重复。有没有办法定义委托/转发,所以一堆expose
都与另一个对象相关联?
为类创建一个单独的实体foo
,我们称之为API::Entities::Foo
。那么你也能
expose :foo, using: API::Entities::Foo
您必须遵循 REST 指南才能像这样进行序列化。你正在处理资源。不要将其分解为扁平、繁琐的数据结构。