如何将响应格式从 fast_jsonapi 格式更改为 AMS gem 响应格式
how to change response format from fast_jsonapi format to AMS gem response format
我想将 fast_jsonapi gem 的响应格式更改为:
{
"data": {
"id": "8",
"type": "directory",
"attributes": {
"firstname": "Naoufal",
"lastname": "Huster",
}
}
}
为此:
{
"id": "8",
"firstname": "Naoufal",
"lastname": "Huster",
}
我正在从使用 AMS gem 迁移到使用 fast_jsonapi,我想使用 fast_jsonapi 但在呈现数据时保持 AMS 的相同响应 json 格式.
Ruby 2.5.0
Rails 5.2.1
fast_jsonapigem
我认为这是不可能的。 fastjson_api
gem 遵循 json api 标准。
此外,回购中也提出了类似的问题:source
您可以使用 sparse fieldsets 有选择地选择您想要的字段。
class MovieSerializer
include FastJsonapi::ObjectSerializer
attributes :name, :year
end
serializer = MovieSerializer.new(movie, { fields: { movie: [:name] } })
serializer.serializable_hash
如果您需要进一步展平数据,您可以创建一个辅助方法来手动展平 JSON 或者您可以尝试使用数组上的标准 .flatten
函数展平它或哈希取决于您的数据格式。如果您已经将其字符串化为 JSON.
,则无法执行展平
我想将 fast_jsonapi gem 的响应格式更改为:
{
"data": {
"id": "8",
"type": "directory",
"attributes": {
"firstname": "Naoufal",
"lastname": "Huster",
}
}
}
为此:
{
"id": "8",
"firstname": "Naoufal",
"lastname": "Huster",
}
我正在从使用 AMS gem 迁移到使用 fast_jsonapi,我想使用 fast_jsonapi 但在呈现数据时保持 AMS 的相同响应 json 格式.
Ruby 2.5.0 Rails 5.2.1 fast_jsonapigem
我认为这是不可能的。 fastjson_api
gem 遵循 json api 标准。
此外,回购中也提出了类似的问题:source
您可以使用 sparse fieldsets 有选择地选择您想要的字段。
class MovieSerializer
include FastJsonapi::ObjectSerializer
attributes :name, :year
end
serializer = MovieSerializer.new(movie, { fields: { movie: [:name] } })
serializer.serializable_hash
如果您需要进一步展平数据,您可以创建一个辅助方法来手动展平 JSON 或者您可以尝试使用数组上的标准 .flatten
函数展平它或哈希取决于您的数据格式。如果您已经将其字符串化为 JSON.