Graphql post body "Must provide query string."

Gopard picture Gopard · Apr 18, 2016 · Viewed 30.5k times · Source

I use Express-graphql middleware. I send the following request in the body line:

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
      }
    }
}

and have error

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

in graphql i can send update in URL.

URL string is too short. i must send update model like

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

i think its must be in request body. How can i send 'update' query or that i'm doing wrong?

Answer

Gopard picture Gopard · Apr 19, 2016

Post request needs to manage headers info.

  1. Using Http client: Content-Type application/json

  2. Using Postman client: Content-Type application/graphql

but request body looks like string

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