Je consomme un noeud final GraphQL particulier et bien que je fournisse une structure JSON propre sous forme de requête, lorsque j'obtiens les résultats, j'obtiens des balises "edge" et "node". Il semble que cela pollue mes données sans aucun avantage évident. Pourquoi est-il là et est-il possible de se débarrasser de ceux-ci pour une analyse plus rapide et plus simple des données?
Réponse
Trop de publicités?Commençons par une Brève Introduction dans des mots simples
GraphQl Relais spécifications
- mécanisme pour refetching un objet
- description de la page par le biais de connexions
- structure autour de mutations pour les rendre prévisibles
Connexions:
- une connexion est une collection d'objets à l'aide de métadonnées
comme l'
edges
,pageInfo
... -
pageInfo contiendra
hasNextPage
,hasPreviousPage
,startCursor
,endCursor
-
hasNextPage
nous dira si il y a plus de bords disponibles, ou si nous avons atteint la fin de cette connexion.
-
-
La gamme de dossiers: les bords
- les bords de fournir une plus grande flexibilité pour l'utilisation de vos données(nœud)
- les bords de vous aider pour la pagination, Il est graphql
GraphQLList
mais avec aucune des fonctionnalités telles que la pagination, qu'avec l'ensemble des objets (données)
-
Chaque arête a
- un
node
: un record ou de données - un
cursor
: base64 chaîne à l'aide de relais avec la pagination
- un
https://facebook.github.io/relay/graphql/connections.htm
Nœud:
- chaque nœud d'un curseur
- vous pouvez définir le nombre de nœuds que vous avez besoin de montrer à l'aide de relais
connectionArgs(first, last, after, before)
Relais de la Pagination fonctionne comme
Sélectionne tous les objets de la collection et de retourner une tranche basé sur l'
first/last
x enregistrements, utilisé thru connectionArgsafter/before
sont utilisés pour indiquer à l'GraphQL serveur le nombre de tranche (données) à l'aide du curseur à partir du nœud
Il y a beaucoup plus de choses à prendre en considération, comme nodeDefinitions
, globalFieldId
, nodeInterfaces
https://github.com/graphql/graphql-relay-js#object-identification