DataPower API Gateway のみ

GraphQL エンドポイントによってサポートされる要求メカニズム

API Connect は、 GraphQL プロキシー API エンドポイントに要求を送信するためのさまざまなメカニズムをサポートしています。

以下のいずれかのメカニズムを使用して、GraphQL プロキシー API 上の /graphql エンドポイントと /graphql/cost エンドポイントに要求を送信できます。

  • GET: GraphQL 照会を、query という URL 照会パラメーターに指定する必要があります。
    例:
    https://hostname/basepath/graphql?query={accounts(limit:100){name{first,last}}}
    次の例では、URL エンコードされた variablesプロパティーおよび operationName プロパティーが含まれています。
    https://hostname/basepath/graphql?query=query%20fetchAccounts%20($limit:%20Int)%20{accounts(limit:%20$limit)%20{name{first,last}}}&variables={"limit":100}&operationName=fetchAccounts
  • JSON エンコードされた本文を持つ POST: Content-Type ヘッダーを application/json に設定する必要があります。また、GraphQL 照会を JSON オブジェクトの query キー内で送信する必要があります。
    例:
    {
      "query": "query fetchAccounts ($limit: Int) {accounts(limit: $limit) {name{first,last}}}",
      "variables": {"limit": 100},
      "operationName": "fetchAccounts"
    }

    variablesoperationName はオプションです。 詳細については、 GraphQL のドキュメント( https://graphql.org/ )にある 「POSTリクエスト」 の項目をご覧ください。

  • graphql コンテンツを持つ POST: Content-Type ヘッダーを application/graphql に設定する必要があります。POST の本文全体は GraphQL 照会として扱われます。
注: /graphql エンドポイントに送信される要求の場合、 GraphQL プロキシー API は常に、JSON エンコードされた本体を持つ POST としてバックエンドの GraphQL サーバーに要求を送信するため、バックエンドの GraphQL サーバーはこのメカニズムをサポートする必要があります。そうでない場合、呼び出しは失敗します。