fen*_*e87 3 rest ruby-on-rails grape-entity
我正在尝试使用 Rails 和 Grape 构建一组 API。用户模型如下:
{
"email": "foo@bar.com"
"name": "Foo Bar"
}
Run Code Online (Sandbox Code Playgroud)
现在,在 API 表示级别,我希望用户对象是这样的:
{
"object": "User"
"email": "foo@bar.com"
"name": "Foo Bar"
}
Run Code Online (Sandbox Code Playgroud)
由于我使用 Grape Entity gem 来公开我的模型,因此问题实际上是:如何向 Grape Entity 类添加额外的 CONSTANT-value 属性?感谢你的帮助!
您可以通过向类添加一个函数来添加一个额外的字段,如下所示:
class XXX < Grape::Entity
expose :object_name
expose :email
expose :name
private
def object_name
"User"
end
end
Run Code Online (Sandbox Code Playgroud)
但是如果函数的名称是 object,它就不起作用。您为此字段选择了另一个名称。
对于更多选项,您也可以使用这样的块,在这种情况下,无论您使用什么字段名称。
class XXX < Grape::Entity
expose :object do |you_have_to_set_a_parameter_here|
"User"
end
expose :email
expose :name
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1222 次 |
| 最近记录: |