web-dev-qa-db-ja.com

postmanでgraphqlクエリを送信する方法?

私が使う

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

しかし、それは"message": "クエリ文字列を提供しなければなりません。"を返します。

64
ZPPP

RESTクライアントを使うより良い方法があります Insomnia

ドキュメントはこちら、graphqlクエリを送信する方法はこちら: https://support.insomnia.rest/article/61-graphql


以下は郵便配達員のためのステップです

ステップ1

ChromeでGraphiQLを実行し、Chrome Dev Consoleを開いて[ネットワーク]タブをクリックし、graphiqlからクエリを実行します。クエリを実行すると、[ネットワーク]タブにgraphqlリクエストが表示されます。

enter image description here

ステップ2

graphqlリクエストからリクエストクエリをコピーし、Copy as cURL (cmd)を選択します。

enter image description here

ステップ3

Postmanを開き、左上のImportボタンをクリックし、Importをクリックした後、Paste Raw Textをクリックし、コピーしたcURL要求を貼り付けた後、Importをクリックします。

enter image description here

ステップ4

PostmanはGraphqlリクエストを送信する準備ができています、Sendボタンをクリックすると、以下のように本文のレスポンスボックスにResponseが表示されます。

enter image description here

ステップ5

クエリがどのように送信されているかを確認するには、Bodyの横にあるHeadersタブをクリックして、postmanのフィールドをJSON形式で提供する方法を理解してください。

例:edges {\n node {\n id\n jobId\n }\n、あなたが他のフィールドを見たいならば、あなたは接尾辞\nでそれを加える必要があります

nameが必要な場合のように:edges {\n node {\n id\n jobId\n name\n }\n

ここでの\nは単に改行を表すという意味です。代わりに、以下のようにわかりやすく説明的なJSONを提供することで、より簡単にすることができます。

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

:ボディタイプはapplication/json content-typeでrawである必要があります。そのため、クエリは引用符付きの有効なJSONである必要があります".."

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

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

enter image description here

本文でクエリを送信する方法やpostmanからのリクエストを行う際に必要となるその他のことも知っていれば、step 5から直接始めることができます

enter image description here

単純化されたJSONを使って

enter image description here

116
p0k8_

GraphQLサーバーがContent-type: application/graphqlまたはpostman.setEnvironmentVariableに応答する場合は、INSOMNIAは必要ありません。

早くやれよ:

[ヘッダー]タブで:Content-Type: application/graphql

「本体」タブで、「生」を選択して、クエリーを入れます

enter image description here

37
Estevão Lucas

トピックを検索している人のためにこれを追加する... Insomniaを使用すると、GraphQL呼び出しをはるかに簡単に利用してテストできます。

https://insomnia.rest

GraphQL開発にとっては素晴らしいことです。

24
craig.kaminsky

簡単な方法があります。要求前スクリプトを使用してペイロードを文字列化します( source )。

ステップ1

リクエストの本文にペイロードのプレースホルダを置きます。

{
    "query":{{query}}
}

ステップ2

要求前スクリプトでペイロードを作成し、それを環境変数に格納します。

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

それでおしまい。

19
Tomasz

アップデート2:

POSTMANは実際には使用されていません。なぜなら、これは長い時間がかかるヘッダーを追加するための簡単な方法でまだ機能しているからです。POSTMANはgraphqlで自然に機能するようには作られていない

あなたはここでそれについての進歩を追うことができます: https://github.com/postmanlabs/postman-app-support/issues/1669

私は他のパッケージプラグインを使用することをお勧めします。

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

graphiql(ヘッダを追加する可能性がない)では、3つのことを設定する必要があります(入力するのは簡単ではありません):

  1. ヘッダ:

    コンテンツタイプ:application/json

  2. 体:

    Ray <optiongroupを選択してください。

    JSON(application/json)<selectboxを選択してください。

  3. "query"とあなたのグラフクエリの "value"でjavascriptオブジェクトを作成してください。 js内のすべてのオブジェクトと同様に、プロパティと値が必要です。この場合、 "quote"がプロパティです。値は二重引用符で囲む必要があります。値(graphl文字列​​)の内側にはjsオブジェクトを作成しないでください。したがって、二重引用符を使用する必要はありません。単なる文字列です。

    {"クエリ": "{allQuotes {テキスト}}"}

    問題は、grapIqlのようにallを1行に入力する必要があることです。postman githubにpostの要件があるため、graphqlを使用した作業は簡単です。

enter image description here

enter image description here

11
stackdave

graphQlを使用してPOSTMANクエリを使用しようとすると、同じ問題に直面しました。POSTMANでは、rawタイプのjsonタブからデータを送信します。

クエリコマンド:

{"query":"{user(id:902){id,username,DOB}}"}

突然変異コマンド:

{ "query": "mutation {createMutations(reviewer:36, comments:\"hello\",data_id: 1659, approved: true ){id}}" }

       #commnent: String Type
       #data_id:Int Type
       #approved:Boolean Type
7
JustChill

に由来する EstevãoLucasの答え

PostmanではヘッダContent-type: application/jsonを使うこともできます

そして本体を次のように定義します。

{
    "query": "{ your_query }"
}

これは、要求ペイロードを形成するためにクライアント側で簡単に構築されます。

例えば.

enter image description here

出力:

enter image description here

2
Roel

もしあなたがVisual Studioを使っているのであれば、GraphQLをRestful bodyに変換するプラグインを書きました。

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

enter image description here

1
Oras

Postmanがリリースしたばかりの 内蔵のGraphQLサポートカナリアビルド .

このバージョンは

  • POSTリクエストとしてリクエストボディにGraphQLクエリを送信する
  • GraphQL変数のサポート
  • GraphQLスキーマタイプを使ってPostmanでAPIを作成する
  • ユーザ定義のGraphQLスキーマと統合されたクエリの自動補完

試してみて、トラッキングスレッドに関するご意見をお寄せください。 当社のコミュニティフォーラム

1
J.Lin

チェックアウト https://github.com/hasura/graphqurl - GraphQLの場合はcurl:

  • オートコンプリートでGraphQLクエリを作成するためのCLI
  • 任意のエンドポイントに対して(カスタムヘッダーを使用して)GraphiQLをローカルに実行します。
  • Nodejsを使って、またはブラウザからライブラリとして使用する
  • 購読をサポート

私は作家の一人です。

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

GraphiQL with headers

0
Shahidh

ヘッダータイプを渡すことができる場合は、ヘッダーを追加しますContent-type:application/graphql

以下のリンクは参照として使用することができます: ここでリンクの説明

0
Madhusudhan R