Zusammenfassung
Ich versuche, eine Restanforderung mit einer graphql-Anforderung zu vermischen. Beide Anforderungen beziehen sich auf dieselbe Ressource und funktionieren, wenn sie einzeln ausgeführt werden. Beim Versuch, die beiden zusammen auszuführen
const QUERY_AUTHORS_AND_PEOPLE = gql`
query {
people @rest(type: "[Person]", path: "authors/") {
firstName
}
authors {
id
firstName
}
}
Ich erhalte den folgenden Fehler
Das Beispiel, auf das ich mich beziehe, finden Sie hier
Hey @ chimon2000 - das klingt nach einem großen Fehler. Fühlen Sie sich wohl, wenn Sie einen Unit-Test für uns einreichen, der dies reproduzieren könnte?
Alternativ wäre eine PR, die dies behebt, noch besser. Ich helfe gerne weiter, aber meine aktuelle Haupttestumgebung verwendet keinen echten GraphQL-Server. Daher bin ich nicht ganz darauf eingestellt, zu überprüfen, ob dies funktioniert.
Hey @fbartho , danke für die schnelle Antwort. Ich habe mein Beispiel-Repo hinzugefügt, das den Code enthält, der erforderlich ist, um das Problem mit Beispielen für Winkel- und (p) -Reaktionen zu reproduzieren, aber ich kann auch hier einen Unit-Test hinzufügen.
Ich bin nicht besonders geschickt darin, wie Apollo-Links funktionieren.
Hey @fbartho , ich habe einen PR- umschaut - es ist in der Tat ein Problem, hoffe, es ist nützlich.
Wenn man sich die Quelle ansieht, scheint es das einzige Mal zu sein, dass forward
aufgerufen wird, um die Operation an den nächsten Link zu senden, here
.
Ich denke, wenn wir das Zusammenführungsverhalten unterstützen möchten, müssen wir die Abfragestreifen untersuchen, die nicht ruhen, und sie an den nächsten Link weiterleiten.
Ich denke, im Grunde wäre es ausreichend, diesen Abschnitt aus dem Apollo-Link-Status zu kopieren (es könnte sogar sinnvoll sein, sich mit den Betreuern abzustimmen, um diese Art von Logik in ein separates Paket zu extrahieren, da dies für Linkbuilder wirklich nützlich erscheint).
Eigentlich habe ich gerade nachgesehen und es ist bereits Teil von Apollo-Utilities. @fbartho Ich wäre bereit, dies zu übernehmen, wenn noch niemand daran arbeitet. Scheint eine relativ einfache Lösung zu sein. Ich muss mir allerdings verschiedene Testszenarien vorstellen ...
@ Paulpdaniels Alter , das würde ich lieben. Bitte nimm es an.
Spezifische gefährliche Szenarien Ich möchte sicherstellen, dass wir Folgendes unterstützen / nicht brechen:
@rest()
in @rest()
Abfragen mit `@export (as:…) in Verwendung@rest()
in Server-Graphql-Abfragen mit `@export (as:…) in Verwendung@rest()
in @client
AbfragenDie Export-Direktive scheint in Server-Graphql-Abfragen nicht zu funktionieren. Ich erhalte die folgende Fehlermeldung: Unbekannte Direktive "export".
@marcelombc es würde von Ihrer Server-Implementierung abhängen Ich denke, apollo-server
sofort mitgeliefert , aber ich denke nicht, dass es erforderlich ist, spezifikationskonform zu sein.
@ Paulpdaniels Du hast recht. Ich verwende Graphen auf dem Server und musste nur eine benutzerdefinierte Direktive erstellen, um @export zu unterstützen. Danke für Ihre Hilfe.
Hilfreichster Kommentar
Eigentlich habe ich gerade nachgesehen und es ist bereits Teil von Apollo-Utilities. @fbartho Ich wäre bereit, dies zu übernehmen, wenn noch niemand daran arbeitet. Scheint eine relativ einfache Lösung zu sein. Ich muss mir allerdings verschiedene Testszenarien vorstellen ...