Je ne connais pas le format d'affichage de la réponse JSON Je suis resté coincé alors je l'ai organisé.
ActiveModelSerializer dispose de trois types d'adaptateurs (format d'affichage JSON).
attributs: adaptateur défini par défaut. Générez une réponse json sans clé racine. json: la réponse a toujours une clé racine et génère une réponse json json_api: une réponse est renvoyée selon le format d'affichage établi par l'organisation qui détermine les spécifications JSON appelées API JSON.
Si vous souhaitez utiliser: json et: json_api par défaut, allez dans le répertoire des initialiseurs Créez un fichier séparé tel que active_model_serializers.rb (tout nom est OK) et Définissez le format d'affichage JSON comme suit.
# config/initializers/active_model_serializers.rb
ActiveModel::Serializer.config.adapter = :json_api
La réponse réelle ressemble à ceci
[
{"id"=>69,
"title"=>"pot",
"updated_at"=>"2020-10-20T20:52:09.044Z",
"user"=>
{"id"=>3,
"name"=>"xu6i65h83tbvexx5dld89w39xn4u9",
"email"=>"[email protected]"}
}
]
"articles" est la clé racine. Le nom de la clé racine obtient le nom du contrôleur.
{"articles"=>
[
{"id"=>72,
"title"=>"Oh oui",
"updated_at"=>"2020-10-20T20:58:15.458Z",
"user"=>
{"id"=>3,
"name"=>"e8zu6a5m08jlgd3w1ddlxkoa",
"email"=>"[email protected]"}
},
]
}
{"data"=>
[
{"id"=>"66",
"type"=>"articles",
"attributes"=>{"title"=>"Hinkyaku", "updated-at"=>"2020-10-20T20:44:16.765Z"},
"relationships"=>
{"user"=>
{"data"=>
{"id"=>"3",
"type"=>"users"}
}
}
}
]
}
On a l'impression que ça devient de plus en plus structuré. Le fait que json_api soit un format d'affichage conforme aux spécifications JSON Est-ce le plus simple à généraliser?
Recommended Posts