meines graphql Server Lassen Sie sagen, möchte die folgenden Daten als JSON holen, wo person3
und person5
einige ids sind:Apollo/GraphQL Feldtyp für Objekt mit dynamischen Tasten
"persons": {
"person3": {
"id": "person3",
"name": "Mike"
},
"person5": {
"id": "person5",
"name": "Lisa"
}
}
Frage: Wie das Schema erstellen Typdefinition mit Apollo?
Die Schlüssel person3
und person5
werden hier abhängig von meiner Abfrage dynamisch generiert (d. H. area
in der Abfrage verwendet). Also zu einer anderen Zeit könnte ich person1
, person2
, zurückgegeben bekommen. Wie Sie sehen persons
ist kein Iterable, so wird folgendes als graphql Typdefinition ich mit apollo hat nicht funktioniert:
type Person {
id: String
name: String
}
type Query {
persons(area: String): [Person]
}
Die Schlüssel im persons
Objekt kann immer unterschiedlich sein.
Eine Lösung wäre natürlich die Umwandlung der eingehenden JSON-Daten in ein Array für persons
, aber gibt es keine Möglichkeit, mit den Daten als solche zu arbeiten?
Kannst du klarstellen, was du meinst, wenn 'b' und' g' 'abhängig von meiner Suchanfrage' dynamisch generiert werden? Ist die Anwesenheit des einen oder anderen von den Feldern in der Anfrage abhängig? –
@DanielRearden So 'b' und' g' sind IDs. Vielleicht sollte ich das in der Frage klarer machen. Die Abfrage enthält Optionen, um nur eine Untergruppe von Personen zu erhalten. Für eine Abfrage enthält die Antwort also Personen mit den IDs "a", "b", "c" und für eine andere Abfrage, zum Beispiel "b" und "g" die Frage. – Andru
@DanielRearden Ich habe nun 'b' in' person3' und 'g' in' person5' geändert und etwas Text und eine Variable hinzugefügt, um es klarer zu machen. Die Abfrage enthält Optionen, um nur eine Untergruppe von Personen zu erhalten, wie im Text beschrieben. – Andru