2016-04-18 7 views
13

Ich benutze Express-Graphql Middleware. ich senden Sie die folgende Anfrage in der Karosserielinie:Graphql post body "Muss Abfrage String bereitstellen."

POST /graphql HTTP/1.1 
Host: local:8083 
Content-Type: application/graphql 
Cache-Control: no-cache 
Postman-Token: d71a7ea9-5502-d5fe-2e36-0ae49c635a29 

{ 
    testing { 
     pass(id: 1) { 
     idn 
     } 
    } 
} 

und haben Fehler

{ 
    "errors": [ 
    { 
     "message": "Must provide query string." 
    } 
    ] 
} 

in graphql i Update in URL senden.

URL-Zeichenfolge ist zu kurz. Ich muss Update-Modell wie

senden
mutation { 
    update(id: 2, x1: "zazaza", x2: "zazaza", x3: "zazaza" ...(more more fields)...) { 
    idn 
    } 
} 

ich denke, es muss in Anfrage Körper sein. Wie kann ich 'update' Abfrage senden oder dass ich falsch mache?

+1

"in graphql kann ich Update in URL senden." <- Meinst du "graphiql"? –

+0

ich benutze "postman" um eine Anfrage zu senden. – Gopard

Antwort

21

es war mein schlechtes.

Post-Anforderung benötigt Content-Type application/json aber verlangt Körper wie String

{"query":"mutation{update(id:1,x1:\"zazaz\",x2:\"zazaz\"......){id x1 x2}}"} 
1

sehen Wenn Sie graphql verwenden und wollen es testen Postbote mit oder anderer Ruhe Client dies tun.

In Postbote, wählen POST Methode und geben Sie Ihre URL und setzen Content-Type als application/graphql dann Ihre Abfrage in den Körper gelangen.

Beispiel:

http://localhost:8080/graphql 
Mehtod: POST 
Content-Type: application/graphql 
Body: 
    query{ 
    FindAllGames{ 
    _id 
    title 
    company 
    price 
    year 
    url 
    } 
} 

Das ist es finden Sie die Antwort.

enter image description here

+0

Funktioniert nicht und gibt den gleichen Fehler – Vivek