How to send graphql query by postman?

How to send graphql query by postman?

90

I use

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

But it return
“message”: “Must provide query string.”

Share
Improve this question

0

    14 Answers
    14

    Reset to default

    142


    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…

    How to send graphql query by postman?


    Step 2.

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

    How to send graphql query by postman?


    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

    How to send graphql query by postman?


    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

    How to send graphql query by postman?


    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 idn jobIdn }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 idn jobIdn namen }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 }}}}}"
    }
    

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

    How to send graphql query by postman?


    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

    How to send graphql query by postman?


    With simplified JSON

    How to send graphql query by postman?


    Share
    Improve this answer

    9

    • 1

      Amazing! Amazing!

      – ZPPP

      Mar 8, 2017 at 17:37

    • Awesome,Thanks for your hleep

      – zhulinpinyu

      Nov 30, 2017 at 1:33

    • While using the same steps I am getting:, Error while importing Curl: 2option-less arguments found. Only one is supported (the URL)

      – Ankit Gupta

      Aug 1, 2018 at 12:58


    • This is a legend!!

      – MareCieco

      Nov 17, 2018 at 4:35

    • 2

      Copy as cURL(bash) worked for me, instead of Copy as cURL(cmd), using chrome postman app on windows 10 OS

      – Another coder

      Dec 3, 2018 at 4:44

    50

    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

    How to send graphql query by postman?


    Share
    Improve this answer

    2

    • i get “No query string was present” trying this

      – dima

      Oct 7, 2018 at 21:40

    • 1

      Works perfectly for me! Using Node.js with express and express-graphql dependencies.

      – Brian

      Mar 2, 2019 at 16:19

    26

    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.

    Share
    Improve this answer

    1

    20

    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.

    Share
    Improve this answer

    2

    • 4

      This is working like a charm and avoids to go through the hassle of all the manual steps described in the previous answers! Thank you.

      – Alexis.Rolland

      Jan 20, 2018 at 10:10


    • We must be using an older version of graphql or having a specific setup but it finally worked with the above proposal and a tiny change “body” instead of “query”: > placeholder > { > “body”:{{query}} > }

      – darul75

      Dec 7, 2020 at 8:45


    14

    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.

    How to send graphql query by postman?


    Share
    Improve this answer

    1

    • Nowadays Postman’s GraphQL body type aren’t in beta anymore! It is a stable option available, as shown here

      – artu-hnrq

      Mar 4, 2021 at 21:11

    11

    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:

    How to send graphql query by postman?


    How to send graphql query by postman?


    Share
    Improve this answer

      11

      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

      Share
      Improve this answer

        9

        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
        

        Share
        Improve this answer

        1

        • Could you please tell us how to pass an object? Here if reviewer and comments are part of the new input object the how the command will be?

          – Sumanth Varada

          Mar 11, 2021 at 20:03


        6

        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

        How to send graphql query by postman?


        Share
        Improve this answer

        1

        • 1

          You saved my weekend 🙂

          – Terance Wijesuriya

          Jan 4, 2020 at 6:50

        5

        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:

        How to send graphql query by postman?


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

        Share
        Improve this answer

          3

          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.

          How to send graphql query by postman?


          Output:

          How to send graphql query by postman?


          Share
          Improve this answer

          3

          • Could you please tell me how to pass an object. For example, email and password as part of another object then how request payload change?

            – Sumanth Varada

            Mar 11, 2021 at 20:09

          • I’m not sure what you mean, but what I’m understanding is you want to pass an object e.g. credentials which has the property of password and email. In that case, you may need to define an input type object in your mutation. and use the $input: <yourinputmutation>! or something like that in the query.

            – Roel

            Mar 12, 2021 at 8:10


          • Fore more code example here: github.com/roelzkie15/chatta-api/blob/master/services/messaging/…

            – Roel

            Mar 12, 2021 at 8:16

          1

          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
          

          How to send graphql query by postman?


          Share
          Improve this answer

            0

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

            Below link can be used as reference:
            link description here

            Share
            Improve this answer

              0

              By adding header we can run graphql query in the postman

              Content-type: application/graphql

              Share
              Improve this answer



                Your Answer


                Post as a guest

                Required, but never shown


                By clicking тАЬPost Your AnswerтАЭ, you agree to our terms of service, privacy policy and cookie policy

                Not the answer you’re looking for? Browse other questions tagged

                or ask your own question.

                Leave a Reply

                Your email address will not be published. Required fields are marked *