Wie verknüpft man das Schema in "GraphQL for .NET" und "Relay"?

8

Ich möchte eine Web-App mit Javascript für das Frontend und C # für das Backend erstellen und den Wert von GraphQL bestimmen.

  • Für mein C # Backend verwende ich eine GraphQL-Implementierung namens GraphQL für .NET .
  • Für mein Frontend möchte ich Relay verwenden, da es gut mit ReactJS zusammenspielt.

Nun zu meinem Backend, habe ich ein Beispielschema implementiert, wie in einer von die Beispiele , die so aussehen:

%Vor%

In meinem Frontend muss ich jetzt Relay irgendwie über dieses Schema informieren. Zumindest habe ich das beim Durchlaufen der Tutorials verstanden, weil die GraphQL-Abfragen aus irgendeinem Grund transpiliert werden müssen. Dies ist ein Beispiel, wie ich alle Droids laden möchte:

%Vor%

In einem der Beispiele für Relay habe ich gesehen, dass babel-relay-plugin wird für die Konvertierung verwendet. Es ruft eine Schemadatei (JSON) ab. Das Erste Schritte -Relay zeigt, wie man ein solches Schema mit graphql-js und graphql erstellt -Relay-js.

Jetzt meine Fragen:

  1. Muss ich wirklich Schemas auf der Vorder- und Rückseite erstellen?
  2. Was bringt es, Relay mein Schema zu lehren, da das Back-End bereits das Schema verwendet, um die wohlgeformten Daten zurückzugeben?
  3. Welchen Nutzen bringt die Verwendung von Relay in diesem Szenario überhaupt? Was würde ich verlieren, wenn ich nur über einen regulären REST-Endpunkt zusammen mit einer GraphQL-Abfrage als Parameter auf das Backend zugreifen würde?
Michael Hilus 26.06.2016, 22:22
quelle

1 Antwort

5
  1. Sie benötigen ein Schema nur im Backend und Sie können schema.json von Ihrem Backend herunterladen, indem Sie ein Beispiel im unteren Teil dieses Dokuments verwenden: Ссылка
  2. Relay benötigt ein Schema, um Abfragen korrekt zu erstellen und Typen von zurückgegebenen Daten zu verstehen.
  3. Relay umschließt Ihre React-Komponenten und ruft alle erforderlichen Daten zum Rendern ab. Haben Sie viele Funktionen wie Daten-Caching, Abfrage Konsolidierung, so mit Relay müssen Sie nichts holen und sorgen darüber, wie Daten an Ihre Komponente zur Verfügung gestellt werden, müssen Sie nur Abfragen und Komponenten schreiben.
dangh 17.09.2016, 20:34
quelle