我尝试使用Rails和Grape构建一组API。用户模型如下:
{
"email": "foo@bar.com"
"name": "Foo Bar"
}
现在,在API演示级别,我想要一个用户对象:
{
"object": "User"
"email": "foo@bar.com"
"name": "Foo Bar"
}
由于我使用Grape Entity gem来公开我的模型,因此问题实际上是: 如何向Grape Entity类添加额外的CONSTANT-value属性? < / strong>感谢您的帮助!
答案 0 :(得分:3)
您可以通过向类添加一个函数来添加额外的字段,如下所示:
class XXX < Grape::Entity
expose :object_name
expose :email
expose :name
private
def object_name
"User"
end
end
但是如果函数的名称是object,它将不起作用。您已为此字段选择其他名称。
对于更多选项,您也可以使用这样的块,在这种情况下,无论您使用的是哪个字段名称。
class XXX < Grape::Entity
expose :object do |you_have_to_set_a_parameter_here|
"User"
end
expose :email
expose :name
end