Estoy consumiendo un punto final GraphQL en particular y, aunque estoy proporcionando una estructura JSON limpia como consulta, cuando obtengo los resultados obtengo etiquetas de "bordes" y "nodos". Parece que está contaminando mis datos sin ningún beneficio obvio. ¿Por qué está ahí y es posible deshacerse de ellos para un análisis de datos más rápido y simple?
100
Respuestas:
Comencemos con una breve introducción en palabras simples.
Especificaciones del relé GraphQl
Conexiones:
edges
,pageInfo
...pageInfo contendrá
hasNextPage
,hasPreviousPage
,startCursor
,endCursor
hasNextPage
nos dirá si hay más bordes disponibles o si hemos llegado al final de esta conexión.La matriz de registros: bordes
GraphQLList
pero sin funcionalidad como la paginación, solo con una matriz de objetos (datos)Cada borde tiene
node
: un registro o un datocursor
: cadena codificada en base64 para ayudar a retransmitir con la paginaciónhttps://facebook.github.io/relay/graphql/connections.htm
Nodo:
connectionArgs(first, last, after, before)
La paginación de relés funciona como
Obtiene todos los objetos de la colección y devuelve un segmento basado en los
first/last
registros x, utilizados a través de connectionArgsafter/before
se utilizan para indicar al servidor GraphQL el número de segmentos (datos) necesarios mediante el cursor del nodoHay muchas más cosas a tener en cuenta como
nodeDefinitions
,globalFieldId
,nodeInterfaces
https://github.com/graphql/graphql-relay-js#object-identification
fuente
each node will have a cursor
, más bieneach edge will have a cursor
, consulte ese blog.apollographql.com/…