golang - graphql platzi
En GraphQL, ¿cuál es el significado de "bordes" y "nodo"? (1)
Comencemos con una breve introducción en palabras simples
Especificaciones del relé GraphQl
- mecanismo para volver a buscar un objeto
- Descripción de cómo buscar a través de conexiones
- estructurar alrededor de mutaciones para hacerlas predecibles
Conexiones:
-
una conexión es una colección de objetos con metadatos como
edges,pageInfo... -
pageInfo contendrá
hasNextPage,hasPreviousPage,startCursor,endCursor-
hasNextPagenos dirá si hay más bordes disponibles o si hemos llegado al final de esta conexión.
-
-
La matriz de registros: bordes
- edge le proporcionará flexibilidad para usar sus datos (nodo)
-
los bordes lo ayudarán para la paginación, hay Graphql
GraphQLListpero sin funcionalidad como la paginación, solo con una matriz de objetos (datos)
-
Cada borde tiene
-
un
node: un registro o un dato -
un
cursor: cadena codificada en base64 para ayudar a retransmitir con paginación
-
un
https://facebook.github.io/relay/graphql/connections.htm
Nodo:
- cada nodo tendrá un cursor
-
puede establecer la cantidad de nodos que necesita mostrar usando los relé
connectionArgs(first, last, after, before)
Relay Pagination funciona como
-
Obtiene todos los objetos de la colección y devuelve un segmento basado en el
first/lastregistro x, utilizado a través de connectionArgs -
after/beforese utilizan para indicar al servidor GraphQL el número de segmento requerido (datos) usando el cursor desde el nodo
Hay muchas más cosas a considerar como
nodeDefinitions
,
globalFieldId
,
nodeInterfaces
https://github.com/graphql/graphql-relay-js#object-identification
Estoy consumiendo un punto final GraphQL 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 sencillo?