Ich verwende einen bestimmten GraphQL-Endpunkt und obwohl ich eine saubere JSON-Struktur als Abfrage bereitstelle, erhalte ich beim Erhalten der Ergebnisse "Kanten" - und "Knoten" -Tags. Es scheint, als ob es meine Daten ohne offensichtlichen Nutzen verschmutzt. Warum ist es dort und ist es möglich, diese für eine schnellere und einfachere Analyse von Daten zu entfernen?
100
Antworten:
Beginnen wir mit einer kurzen Einführung in einfachen Worten
GraphQl-Relaisspezifikationen
Verbindungen:
edges
,pageInfo
...Seiteninfo enthält
hasNextPage
,hasPreviousPage
,startCursor
,endCursor
hasNextPage
wird uns mitteilen, ob mehr Kanten verfügbar sind oder ob wir das Ende dieser Verbindung erreicht haben.Das Array von Datensätzen: Kanten
GraphQLList
aber ohne Funktionalität wie Paginierung, nur mit Array von Objekten (Daten).Jede Kante hat
node
: ein Datensatz oder Datencursor
: Base64-codierte Zeichenfolge zur Unterstützung der Weiterleitung bei der Paginierunghttps://facebook.github.io/relay/graphql/connections.htm
Knoten:
connectionArgs(first, last, after, before)
Relais-Paginierung funktioniert als
Ruft alle Objekte in der Sammlung ab und gibt ein Slice zurück, das auf den
first/last
x-Datensätzen basiert , die über connectionArgs verwendet werdenafter/before
werden verwendet, um dem GraphQL-Server die Anzahl der erforderlichen Slice (Daten) mithilfe des Cursors vom Knoten anzuzeigenEs gibt viele weitere Dinge zu beachten , wie
nodeDefinitions
,globalFieldId
,nodeInterfaces
https://github.com/graphql/graphql-relay-js#object-identification
quelle
each node will have a cursor
, sonderneach edge will have a cursor
verweist, dass blog.apollographql.com/...