I am consuming a particular GraphQL endpoint and although I am supplying a clean JSON structure as a query, when I get the results I get \"edges\" and \"node\" tags. It see
Let's begin with a short introduction in simple words
GraphQl Relay specifications
Connections:
edges, pageInfo...pageInfo will contain hasNextPage, hasPreviousPage, startCursor, endCursor
hasNextPage will tell us if there are more edges available, or if we’ve reached the end of this connection.The array of records: edges
GraphQLList but with no functionality such as pagination, only with array of objects (data)Each edge has
node: a record or a datacursor: base64 encoded string to help relay with paginationhttps://facebook.github.io/relay/graphql/connections.htm
Node:
connectionArgs(first, last, after, before)Relay Pagination works as
Fetches all objects in the collection and return a slice based on the first/last x records, used thru connectionArgs
after/before are used to indicate to the GraphQL server the number of required slice (data) using cursor from the node
There are many more things to consider like nodeDefinitions, globalFieldId, nodeInterfaces
https://github.com/graphql/graphql-relay-js#object-identification