platzi golang graphql

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

    • hasNextPage nos 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 GraphQLList pero 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

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/last registro x, utilizado a través de connectionArgs

  • after/before se 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?