How to send graphql query by postman?

GraphqlPostman

Graphql Problem Overview


I use

POST type
URL http://######/graphql
Body: 
query: "query: "{'noteTypes':  {'name', 'label', 'labelColor', 'groupName', 'groupLabel', 'imageUrl'}}"

But it return "message": "Must provide query string."

Graphql Solutions


Solution 1 - Graphql


There's a better way to do it using the REST client Insomnia

Docs are here, how to send graphql queries: https://support.insomnia.rest/article/61-graphql


Below are the steps for postman

Step 1.

Run the GraphiQL in Chrome, open the Chrome Dev Console, click the Network tab, and make the query from graphiql, when you make the query, network tab will show the graphql request...

enter image description here

Step 2.

From the graphql request copy the request query, Select the Copy as cURL (cmd)

enter image description here

Step 3.

Open Postman, In the Top-Left click on the Import button, after you click Import you have to click the Paste Raw Text, and paste the copied cURL request as done in step2 after it's done click the Import

enter image description here

Step 4.

Postman is ready to send the Graphql request, Just Click on the Send Button, you will see the Response in the Response Box in body as below

enter image description here

Step 5.

To see how the query is being sent click on the Body tab next to Headers, you will get know how to provide the fields from postman in JSON format.

e.g: edges {\n node {\n id\n jobId\n }\n, If you want to view another field then you need to add it in with the suffix \n

like if need name then : edges {\n node {\n id\n jobId\n name\n }\n

\n here just means to represent a new line. Instead, you can make it simpler by providing a clear and illustrative JSON like below

===========================================================================

Note: The body type must be raw with application/json content-type. So, the query must be a valid JSON with quotes ".."

{  
   "query":"{viewer {user {edges {node {id jobId name }}}}}"
}

===========================================================================

enter image description here

you can directly start from step 5 if you know how to send the query in body and other things too that needs to be required while making a request from postman

enter image description here

With simplified JSON

enter image description here

Solution 2 - Graphql

You don't need INSOMNIA in case the GraphQL server responds to Content-type: application/graphql or postman.setEnvironmentVariable,

Just do it:

In Headers tab:

Content-Type: application/graphql

In Body tab, "raw" selected, put your query

enter image description here

Solution 3 - Graphql

Adding this for anyone searching on the topic ... you can utilize and test GraphQL calls far better and more easily with Insomnia:

https://insomnia.rest

It's been fantastic for GraphQL development.

Solution 4 - Graphql

There's a simple way to do it. Use a pre-request script to stringify the payload (source).

Step 1.

In the body of the request put a placeholder for the payload.

{
	"query":{{query}}
}

Step 2.

Create the payload in the pre-request script and store it in an environment variable.

postman.setEnvironmentVariable("query", JSON.stringify(
`
{
  search(query: "test", type: ISSUE, first: 10) {
    issueCount
    edges {
      node {
        ... on Issue {
          title
          id
          state
          closed
          repository {
            name
          }
        }
      }
    }
  }
}
`
));

That's it.

Solution 5 - Graphql

UPDATE 8-2019 - I know this is old, but regarding POSTMAN, if you haven't figured it out already, they do have a graphql (beta) option for posting body. There is no need to add any additional headers.

enter image description here

Solution 6 - Graphql

UPDATE 2:

It's not practical use POSTMAN, because the are working yet in a easy way to add headers, that take longtime, and i think POSTMAN is not made for work naturally with graphql,

you can follow the progress about that here: https://github.com/postmanlabs/postman-app-support/issues/1669

I recommend to use another packages plugin like:

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

for graphiql (no add headers possibility) you need to set three things (it's not easy to type):

  1. Header:

    Content-Type: application/json

  2. Body:

    Choose Ray < optiongroup

    Choose JSON (application/json) < selectbox

  3. Compose javascript object with "query" and the "value" of your graph query. Like all objects in js it'sneeded the propery and the value , in this case "quote" is the property, the value must be with double quotes. Inside the value (graphl string) you dont compose js objects, so you dont need use doble quotes, it's just a string.

    {"query":"{ allQuotes { text } }" }

    the problem is you need type all in a single line, no like grapIql... there is a post requirement in postman github so is easy work with graphql:

enter image description here

enter image description here

Solution 7 - Graphql

Postman just released inbuilt GraphQL support in version 7.2.

> This version supports > > * Sending GraphQL queries in request body as POST requests > * Support for GraphQL variables > * Creating APIs in Postman with GraphQL schema type > * Query autocompletion integrated with user defined GraphQL schemas > > Please give it a try and give us your feedback on the tracking thread on our community forum

Solution 8 - Graphql

I faced the same problem when I try to used graphQl query using POSTMAN, In POSTMAN send data from the raw tab with json type.

Query Command:

{"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

Solution 9 - Graphql

If you're using Visual Studio, I have written a plugin to convert GraphQL to Restful body

https://marketplace.visualstudio.com/items?itemName=orasik.graphql-to-rest-queries

enter image description here

Solution 10 - Graphql

Postman has recently launched its out of box support for GraphQL: https://blog.getpostman.com/2019/06/18/postman-v7-2-supports-graphql/

Below is the screenshot of testing GraphQL locally:

enter image description here

Note: Running GraphQL locally using spring-boot https://www.baeldung.com/spring-graphql

Solution 11 - Graphql

Deriving from Estevão Lucas' answer.

You can also use header Content-type: application/json on postman

And define the body with:

{
    "query": "{ your_query }"
}

This is easily constructed on the client side to form a request payload.

e.g.

enter image description here

Output:

enter image description here

Solution 12 - Graphql

Checkout https://github.com/hasura/graphqurl - curl for GraphQL:

  • CLI for making GraphQL queries with autocomplete
  • Run GraphiQL locally against any endpoint (with custom headers)
  • Use as a library with nodejs or from the browser
  • Supports subscriptions

I am one of the authors.

gq https://gentle-anchorage-72051.herokuapp.com/v1alpha1/graphql -i

GraphiQL with headers

Solution 13 - Graphql

IF we can pass header type, Then add the header Content-type: application/graphql

Below link can be used as reference: link description here

Solution 14 - Graphql

By adding header we can run graphql query in the postman

Content-type: application/graphql

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionZPPPView Question on Stackoverflow
Solution 1 - GraphqlParwat KunwarView Answer on Stackoverflow
Solution 2 - GraphqlEstevão LucasView Answer on Stackoverflow
Solution 3 - Graphqlcraig.kaminskyView Answer on Stackoverflow
Solution 4 - GraphqlTomaszView Answer on Stackoverflow
Solution 5 - Graphqlvbuser2004View Answer on Stackoverflow
Solution 6 - GraphqlstackdaveView Answer on Stackoverflow
Solution 7 - GraphqlJ.LinView Answer on Stackoverflow
Solution 8 - GraphqlMr SinghView Answer on Stackoverflow
Solution 9 - GraphqlOrasView Answer on Stackoverflow
Solution 10 - GraphqlAtul KulkarniView Answer on Stackoverflow
Solution 11 - GraphqlRoelView Answer on Stackoverflow
Solution 12 - GraphqlShahidhView Answer on Stackoverflow
Solution 13 - GraphqlMadhusudhan RView Answer on Stackoverflow
Solution 14 - GraphqlgurukatreView Answer on Stackoverflow