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