[RUBY] J'ai résumé le format d'affichage de la réponse JSON de Rails

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

J'ai résumé le format d'affichage de la réponse JSON de Rails
[jour: 5] J'ai résumé les bases de Java
Je souhaite afficher le nom de l'affiche du commentaire
J'ai résumé les types et les bases des exceptions Java
Je ne peux pas sortir de l'écran de la console Rails db
[Rails] Je souhaite afficher la destination du lien de link_to dans un onglet séparé
J'ai résumé le cadre de la collection.
(Ruby on Rails6) Affichage de la base de données qui a obtenu l'identifiant de la base de données
[Rails] Comment afficher une liste de messages par catégorie
[Rails] Vérifiez le contenu de l'objet
Explication de l'ordre des itinéraires ferroviaires
J'ai lu la source de ArrayList que j'ai lu
J'ai lu la source d'Integer
Vérifier l'état de migration des rails
J'ai lu la source de Long
[Rails] Comment omettre l'affichage de la chaîne de caractères de la méthode link_to
[Rails] J'ai essayé de supprimer l'application
J'ai lu la source de Short
Depuis que j'ai réussi l'Oracle Java Bronze, j'ai résumé les grandes lignes du test.
J'ai lu la source de Byte
J'ai résumé le flux jusqu'à l'implémentation de simple_calendar dans Ruby on Rails.
J'ai lu la source de String
[Ruby] Afficher le contenu des variables
[Rails] Je vais expliquer la procédure d'implémentation de la fonction follow en utilisant form_with.
[Circle CI] J'étais accro au test automatique de Circle CI (rails + mysql) [Memo]
Afficher le texte en haut de l'image
L'identité des paramètres de rails [: id]
Maintenant, j'ai résumé les bases de RecyclerView
Préparer l'environnement de format pour "Rails" (VScode)
J'ai étudié le traitement interne de Retrofit
À propos de l'affichage initial de Spring Framework
[Rails] Changer le nom de l'étiquette de f.label
[Java] J'ai personnellement résumé la grammaire de base.
Mettre en forme le contenu de LocalDate avec DateTimeFormatter
Je l'ai utilisé sans connaître la cartographie O / R des rails, donc je l'ai vérifié.
[Rails] Nous avons résumé les emplacements de stockage et l'utilisation des images des développeurs et des utilisateurs.
[Order method] Définit l'ordre des données dans Rails
[Rails] Quand j'utilise form_with, l'écran se fige! ??
J'ai vérifié la partie de java.net.URL # getPath
[Ruby on Rails] Jusqu'à l'introduction de RSpec
J'ai essayé d'organiser la session en Rails
[Rails] Affichage des données de structure à plusieurs niveaux à l'aide de la boîte de sélection
J'ai comparé les caractéristiques de Java et .NET
Je veux var_dump le contenu de l'intention
Code utilisé pour connecter Rails 3 à PostgreSQL 10
[Ruby] Code pour afficher le jour
Comment afficher le résultat du remplissage du formulaire
J'ai essayé d'utiliser le profileur d'IntelliJ IDEA
J'ai vérifié le nombre de taxis avec Ruby
[Rails] Afficher les messages populaires au format de classement [Facile]
[Ruby on Rails] Affichage individuel des messages d'erreur
Essayez Progate Free Edition [Java I]