GraphQL - Alle Felder aus verschachtelten JSON-Objekten abrufen

8

Ich setze einen GraphQL-Wrapper über eine bestehende REST-API, wie in Zero to GraphQL in 30 Minuten beschrieben . Ich habe einen API-Endpunkt für ein Produkt mit einer Eigenschaft, die auf ein verschachteltes Objekt zeigt:

%Vor%

Ist es möglich, das Schema so zu definieren, dass ich dieses gesamte verschachtelte Objekt erhalten kann, ohne das verschachtelte Objekt und alle seine Eigenschaften explizit zu definieren? Ich möchte, dass meine Abfrage nur angibt, dass ich das verschachtelte Objekt möchte und nicht alle Eigenschaften angeben muss, die ich von dem verschachtelten Objekt haben möchte:

%Vor%

Ich kann die zweite Version machen, aber es erfordert viel zusätzlichen Code, einschließlich der Erstellung eines NestedObjectType und Angabe aller verschachtelten Eigenschaften. Ich habe auch herausgefunden, wie man automatisch eine Liste aller Schlüssel erhält:

%Vor%

Ich habe jedoch keine Möglichkeit gefunden, das gesamte Objekt automatisch zurückzugeben.

    
collinksmith 05.05.2016, 20:18
quelle

1 Antwort

4
  

Ich kann die zweite Version machen, aber es erfordert viel zusätzlichen Code, einschließlich der Erstellung eines NestedObjectType und Angabe aller verschachtelten Eigenschaften.

Mach es! Es wird toll sein. Das ist der richtige Weg, um GraphQL voll auszuschöpfen.

Abgesehen davon, dass Sie das Überholen verhindern, bietet es Ihnen auch viele andere Vorteile wie die Typprüfung und besser lesbaren und wartbaren Code, da Ihr Schema eine umfassendere Beschreibung Ihrer Daten liefert. Du wirst dir später dafür danken, dass du die zusätzliche Arbeit im Voraus gemacht hast.

Wenn Sie aus irgendeinem Grund diesen Weg nicht wirklich gehen und die Konsequenzen vollständig verstehen wollen, könnten Sie die verschachtelten Objekte mit JSON.stringify als Strings kodieren.

Aber wie ich schon sagte, ich empfehle Ihnen, nicht!

    
Eric Streeper 08.05.2016, 18:59
quelle

Tags und Links