Angenommen ich ein GraphQL Schema wie diese:Wie Abfrage für dynamische Menge von Aliasen?
Schema {
user($id: ID) {
id: ID
name: String
}
}
Ich weiß, wie für einen Benutzer durch seine ID abfragen, und ich kann Aliasnamen für mehrere Benutzer wie so abzufragen verwenden:
GetSomeMore {
john: user(id: "123") {
name
}
mary: user(id: "321") {
name
}
}
Ich nehme jedoch an, ich habe nur eine Liste von Benutzer-IDs und möchte die Namen jedes einzelnen abfragen. Wie würde ich eine solche Abfrage schreiben?
Die Ansätze, die ich mir vorstellen kann, ist Ether dynamisch generieren eine Abfrage mit Aliasen wie user1
, user2
, etc., oder eine users(ids: [ID])
Rand auf dem Server implementieren. Aber ich denke, es sollte eine bessere Lösung geben. Ist da?
(PS: meine Code-Beispiele könnten Syntaxfehler haben, schreibe ich es mehr als Pseudo-Code, meinen Punkt herüber zu erhalten.)
Ok, das scheint ziemlich brauchbar zu sein, und ich sehe, dass es eine Obermenge der vorherigen "Ein-Benutzer" -Ecke ist. Es scheint jedoch sinnvoll zu sein, nur einen einzigen Benutzer zu erreichen (die Anwendungsfälle von Benutzern sehen genau so aus). Denkst du, man sollte die "one user" -Kante entfernen und einfach mit deiner Lösung gehen oder beides behalten? – Ludwik
Ja, es macht viel Sinn! Wir haben auch die 'Benutzer'-Abfrage, um einen' Benutzer' zurückzugeben. Es akzeptiert das Argument 'id' oder ein beliebiges Feld des Modells 'Benutzer', das Sie in unserer Konsolenbenutzeroberfläche als 'eindeutig' deklariert haben. Wenn Sie beispielsweise eindeutige Namen für Benutzer haben, können Sie wie folgt abfragen: 'query {Benutzer (Name:" John ") {id}}' – marktani
Hallo @marktani!Ist Ihre Implementierung von 'Filter' in Open Source? :) –