expressgraphqlpostmangraphql-js

Graphql post body "Must provide query string."


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?


Solution

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