Apollo-link-rest: Wie rufe ich beliebige URLs auf?

Erstellt am 16. Feb. 2019  ·  7Kommentare  ·  Quelle: apollographql/apollo-link-rest

Hallo,

Gibt es eine Möglichkeit, beliebige URLs in Abfragen aufzurufen?

In der Dokumentation steht, dass path in der @rest Direktive einen Pfad oder eine vollständige URL annehmen kann. Beim Übergeben der folgenden Abfrage erhalte ich jedoch Fehler:

query getFoo {
  foo @rest(type: "Foo", path: "https://foo.com/foo") {
    bar
  }
}
Deprecated: '@rest(path:' contains a ':' colon, this format will be removed in future versions
index.js:1446 [Network error getIP]: Missing parameters to run query, specify it in the query params or use an export directive. (If you need to use ":" inside a variable string make sure to encode the variables properly using `encodeURIComponent`. Alternatively see documentation about using pathBuilder.)

Wenn ich dann path="${encodeURIComponent('https://foo.com/foo')}" , versucht der REST-Link, https://[my current url]https%3A%2F%2Ffoo.com%2Ffoo .

pathBuilder hängt meinen erstellten Pfad auf ähnliche Weise an meine ursprüngliche URL an.

Ist die einzige Option, jede URL zu registrieren, die Ihre App im REST-Link-Setup aufruft? Wenn ja, denke ich, dass die Dokumente aktualisiert werden sollten, um anzuzeigen, dass path keine vollständigen URLs verwendet.

bug 🐛 help wanted 🛠

Alle 7 Kommentare

Danke für die Meldung @timhwang21 Dies ist definitiv ein Fehler, der vor etwa einem Jahr eingeführt wurde.

Ich schätze, viele Leute konfigurieren ihre "Basisendpunkte" einmal für den gesamten RestLink, daher schätze ich, dass die Leute diese Funktion nicht sehr häufig verwendet haben. -- Diese Warnung zu unterdrücken und die Unterstützung für vollständige URLs in der Anmerkung @rest() wiederherzustellen, sollte ziemlich einfach sein.

Ich würde mich bei der Überprüfung einer PR unterstützen, wenn jemand zum Fix beitragen möchte.

Super, ich kann am Wochenende mal krachen. @fbartho haben Sie

@timhwang21 Leider haben wir wirklich nur eine Quelldatei in der Codebasis, sie ist nicht unglaublich lang, aber ich

Ich bin darauf gestoßen und würde einen Wert darin finden, eine vollständige URL im Pfad oder eine andere Option zum Definieren einer neuen URL zuzulassen, z. B. url: "https://domain.com/api/path/1" .

@timhwang21 konntest du etwas

Fwiw hier ist eine kleine Arbeit, die ich gemacht habe, um es in der Zwischenzeit zum Laufen zu bringen.

  1. Geben Sie in der Konfiguration einen empty Endpunkt an. Beachten Sie, dass der Wert empty: ' ' tatsächlich ein Leerzeichen enthält.
    image
  2. Verwenden Sie dies als Endpunkt in Ihrer Abfrage. Hier ist ein Beispiel für das Auflösen von Wasserfallanforderungen...
    image

Das wars so ziemlich.

Ich nicht, wir haben unseren Restdienst zu GraphQL migriert.

Am Mo, 22. Juli 2019 um 9:14 Uhr schrieb Mat Silva [email protected] :

Ich bin darauf gestoßen und würde es Wert finden, eine vollständige URL im Pfad zuzulassen oder
eine weitere Option, um eine neue URL zu definieren, wie zum Beispiel url: "
https://domain.com/api/path/1 ".

@timhwang21 https://github.com/timhwang21 konntest du peitschen
etwas los?

Fwiw hier ist eine kleine Arbeit, die ich gemacht habe, um es in der Zwischenzeit zum Laufen zu bringen.

  1. Geben Sie in der Konfiguration einen leeren Endpunkt an. Beachten Sie, dass es eine tatsächliche
    Leerzeichen im Wert leer: ' '.
    [Bild: Bild]
    https://user-images.githubusercontent.com/4511972/61635093-c85eba80-ac60-11e9-87aa-eae6cf788e59.png
  2. Verwenden Sie dies als Endpunkt in Ihrer Abfrage, hier ist ein Beispiel für
    Wasserfallanfragen lösen...
    [Bild: Bild]
    https://user-images.githubusercontent.com/4511972/61635160-f0e6b480-ac60-11e9-8879-e78f0ae4d982.png

Das wars so ziemlich.


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/apollographql/apollo-link-rest/issues/192?email_source=notifications&email_token=ABMPWCWNFOUEL4WFA3GSY7TQAWXEZA5CNFSM4GX3BPZ2YY3PNVWWK3TUL52HS4DFVREXG43VMVXBW63#
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/ABMPWCVPMVEBZQSMS2CGQQLQAWXEZANCNFSM4GX3BPZQ
.

Restdienst an GraphQL.

ja das geht auch :grin:

Dieses Problem trat auf, als ich eine Mischung aus Githubs API konsumierte, von denen einige noch nicht in ihrer GraphQL-API enthalten sind. Ihre Rest-API hat viele absolute URL-Felder, die ich exportieren und wiederverwenden könnte, aber der Haken : verhindert, dass sie funktioniert. Die Problemumgehung von

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen