How to send graphql query by postman?

前端 未结 14 656
情歌与酒
情歌与酒 2020-11-29 16:19

I use

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


        
相关标签:
14条回答
  • 2020-11-29 16:44

    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:

    0 讨论(0)
  • 2020-11-29 16:47

    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
    

    0 讨论(0)
  • 2020-11-29 16:49

    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

    0 讨论(0)
  • 2020-11-29 16:52

    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.

    Output:

    0 讨论(0)
  • 2020-11-29 16:53

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

    Below link can be used as reference: link description here

    0 讨论(0)
  • 2020-11-29 16:54

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

    Step 2.

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

    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

    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

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

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

    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

    With simplified JSON

    0 讨论(0)
提交回复
热议问题