ich benutze
POST type
URL http://######/graphql
Body:
query: "query: "{'noteTypes': {'name', 'label', 'labelColor', 'groupName', 'groupLabel', 'imageUrl'}}"
Es wird jedoch "message" zurückgegeben: "Muss eine Abfragezeichenfolge bereitstellen."
Antworten:
Es gibt eine bessere Möglichkeit, dies mit dem REST-Client Insomnia zu tun
Hier finden Sie Informationen zum Senden von Graphql-Anfragen: https://support.insomnia.rest/article/61-graphql
Unten sind die Schritte für den Postboten
Schritt 1.
Führen Sie GraphiQL in Chrome aus, öffnen Sie die Chrome Dev Console, klicken Sie auf die Registerkarte Netzwerk und führen Sie die Abfrage von graphiql aus. Wenn Sie die Abfrage durchführen, wird auf der Registerkarte Netzwerk die graphql-Anforderung angezeigt ...
Schritt 2.
graphqlWählen Sie aus der Anforderungskopie die Anforderungsabfrage ausCopy as cURL (cmd)
Schritt 3.
Öffnen Sie den Postboten. ImportKlicken ImportSie oben links auf die Schaltfläche. Nachdem Sie auf geklickt haben, müssen Sie auf klicken Paste Raw Textund die kopierte cURLAnforderung wie in Schritt 2 ausgeführt einfügen, nachdem Sie fertig sind. Klicken Sie aufImport
Schritt 4.
Postman ist bereit , die Graphql Anfrage zu senden, klicken Sie einfach auf den SendKnopf, werden Sie das sehen Responsein dem Antwortfeld in Körper , wie unten
Schritt 5.
Um zu sehen, wie die Abfrage gesendet wird, klicken Sie auf die BodyRegisterkarte neben Headers, um zu erfahren, wie Sie die Felder vom Postboten im JSON-Format bereitstellen.
Beispiel: edges {\n node {\n id\n jobId\n }\nWenn Sie ein anderes Feld anzeigen möchten, müssen Sie es mit dem Suffix hinzufügen\n
wie wenn nötig namedann:edges {\n node {\n id\n jobId\n name\n }\n
\nhier bedeutet nur, eine neue Linie darzustellen. Stattdessen können Sie es einfacher machen, indem Sie einen klaren und anschaulichen JSON wie unten bereitstellen
================================================== =========================
Hinweis : Der Körpertyp muss mit demapplication/jsonInhaltstyproh sein. Die Abfrage muss also ein gültiger JSON mit Anführungszeichen sein".."
{
"query":"{viewer {user {edges {node {id jobId name }}}}}"
}
================================================== =========================
Sie können direkt damit beginnen, step 5wenn Sie wissen, wie Sie die Anfrage im Hauptteil und in anderen Dingen senden, die erforderlich sind, während Sie eine Anfrage vom Postboten stellen
Mit vereinfachtem JSON
Wenn Sie dies für alle hinzufügen, die nach dem Thema suchen, können Sie GraphQL-Aufrufe mit Insomnia viel besser und einfacher nutzen und testen:
Es war fantastisch für die GraphQL-Entwicklung.
Es gibt einen einfachen Weg, dies zu tun. Verwenden Sie ein Pre-Request-Skript, um die Nutzdaten ( Quelle ) zu kennzeichnen .
Schritt 1.
Fügen Sie im Hauptteil der Anfrage einen Platzhalter für die Nutzlast ein.
{
"query":{{query}}
}
Schritt 2.
Erstellen Sie die Nutzdaten im Pre-Request-Skript und speichern Sie sie in einer Umgebungsvariablen.
postman.setEnvironmentVariable("query", JSON.stringify(
`
{
search(query: "test", type: ISSUE, first: 10) {
issueCount
edges {
node {
... on Issue {
title
id
state
closed
repository {
name
}
}
}
}
}
}
`
));
Das ist es.
Es ist nicht praktisch, POSTMAN zu verwenden, da es noch auf einfache Weise funktioniert, Header hinzuzufügen, die lange dauern, und ich denke, POSTMAN ist nicht für die natürliche Arbeit mit graphql gemacht.
Den Fortschritt dazu können Sie hier verfolgen: https://github.com/postmanlabs/postman-app-support/issues/1669
Ich empfehle ein anderes Paket-Plugin wie:
the best (like postman , but profile and sync price 5$ monthly):
https://insomnia.rest/
others:
https://github.com/andev-software/graphql-ide
https://github.com/imolorhe
Für graphiql (keine Möglichkeit zum Hinzufügen von Headern) müssen Sie drei Dinge festlegen (die Eingabe ist nicht einfach):
Header:
Inhaltstyp: application / json
Körper:
Wählen Sie Ray <Optionsgruppe
Wählen Sie JSON (application / json) <selectbox
Erstellen Sie ein Javascript-Objekt mit "query" und dem "value" Ihrer Diagrammabfrage. Wie bei allen Objekten in js ist die Eigenschaft und der Wert erforderlich. In diesem Fall ist "quote" die Eigenschaft. Der Wert muss in doppelte Anführungszeichen gesetzt werden. Innerhalb des Wertes (graphl string) komponieren Sie keine js-Objekte, sodass Sie keine doppelten Anführungszeichen verwenden müssen, sondern nur einen String.
{"query": "{allQuotes {text}}"}
Das Problem ist, dass Sie alle in einer einzigen Zeile eingeben müssen, nicht wie bei grapIql ... es gibt eine Post-Anforderung in Postman Github, daher ist die Arbeit mit graphql einfach:
Postman hat gerade die integrierte GraphQL-Unterstützung in Version 7.2 veröffentlicht.
Diese Version unterstützt
- Senden von GraphQL-Abfragen im Anforderungshauptteil als POST-Anforderungen
- Unterstützung für GraphQL-Variablen
- Erstellen von APIs in Postman mit dem GraphQL-Schematyp
- Automatische Vervollständigung von Abfragen in benutzerdefinierten GraphQL-Schemas integriert
Bitte probieren Sie es aus und geben Sie uns Ihr Feedback zum Tracking-Thread in unserem Community-Forum
Ich hatte das gleiche Problem, als ich versuchte, die graphQlAbfrage mit POSTMANPOSTMAN zu verwenden. Senden Sie Daten von der rawRegisterkarte mit dem jsonTyp.
Abfragebefehl:
{"query":"{user(id:902){id,username,DOB}}"}
Mutations Command:
{ "query": "mutation {createMutations(reviewer:36, comments:\"hello\",data_id: 1659, approved: true ){id}}" }
#commnent: String Type
#data_id:Int Type
#approved:Boolean Type
Wenn Sie Visual Studio verwenden, habe ich ein Plugin geschrieben, um GraphQL in Restful Body zu konvertieren
https://marketplace.visualstudio.com/items?itemName=orasik.graphql-to-rest-queries
Abgeleitet von Estevão Lucas 'Antwort .
Sie können auch die Kopfzeile Content-type: application/jsonfür Postboten verwenden
Und definieren Sie den Körper mit:
{
"query": "{ your_query }"
}
Dies kann auf der Clientseite leicht aufgebaut werden, um eine Anforderungsnutzlast zu bilden.
z.B
Ausgabe:
Postman hat kürzlich die sofort einsatzbereite Unterstützung für GraphQL gestartet: https://blog.getpostman.com/2019/06/18/postman-v7-2-supports-graphql/
Unten sehen Sie den Screenshot des lokalen Testens von GraphQL:
Hinweis : Führen Sie GraphQL lokal mit Spring-Boot https://www.baeldung.com/spring-graphql aus
Kasse https://github.com/hasura/graphqurl - Curl für GraphQL:
Ich bin einer der Autoren.
gq https://gentle-anchorage-72051.herokuapp.com/v1alpha1/graphql -i
WENN wir den Headertyp übergeben können, fügen Sie den Header Content-type hinzu: application / graphql
Der folgende Link kann als Referenz verwendet werden: Linkbeschreibung hier