GraphQL
SquidはGraphQL APIに接続でき、Squid Client SDKを使用してアクセスすることができます。
GraphQL APIをSquidに接続するには、以下のセットアップ手順を完了してください:
-
Squid Console に移動し、希望するSquidアプリケーションを選択します。
-
Connectors タブをクリックします。
-
Available Connectors をクリックして、GraphQL コネクタを探します。その後、Add Connector をクリックします。
-
以下の詳細を入力してください:
- Connector ID: お好みのユニークなIDです。簡潔で意味のあるものにするのが望ましい
- Base URL: GraphQLエンドポイントのURL
- Inject Request Headers: (Optional) 全てのリクエストに自動的に値を注入する場合はオンにします。GraphQL APIで必要とされる可能性のある認証情報を含める場合に便利です

-
Test Connection をクリックして、APIへの接続をテストしてください。接続に失敗した場合は、エンドポイントの値および追加した場合はヘッダーを確認してください。
-
接続が成功したら、Add Connector をクリックします。
GraphQLスキーマプレイグラウンド
コネクタを追加すると、Squid Consoleのコネクタの Schema タブでGraphQLスキーマを検索し、API呼び出しをテストすることができます。
コネクタの Details セクションから、注入を追加、削除、更新することができます。
セキュリティルールの要件
コネクタがデータにアクセスするためにセキュリティルールを必要とするかどうかを指定するオプションがあります。
GraphQLコネクタを保護するには、Secure GraphQL のドキュメントを参照してください。
Squid Client SDKの使用方法
GraphQLコネクタを作成すると、Squid Client SDKおよびSquid GraphQL SDKを使用してGraphQL APIにアクセスすることができます。
- 以下のコマンドを使用して、SquidのGraphQLパッケージをインストールしてください:
npm install @squidcloud/graphql
- 次のインポートをアプリケーションに追加します。Squidバックエンドからコネクタにアクセスする場合は、Squidのインポートは不要です:
import { Squid } from '@squidcloud/client';
import { GraphQLClient } from '@squidcloud/graphql';
- あなたのSquidインスタンスとコネクタのIDを渡して、GraphQLクライアントを作成します。Squidバックエンドからコネクタにアクセスする場合は、
this.squidを使用して提供されたSquidインスタンスにアクセスできます:
const graphQLClient = new GraphQLClient(squid, 'CONNECTOR_ID');
- クエリを実行するには、GraphQLClientの
queryメソッドを使用し、クエリおよび変数を含むオブジェクトを渡します:
const query = `
query ($title: String!, $description: String!) {
exampleQuery(
input: {
title: $title,
description: $description
}
) {
success
result {
id
url
}
}
}
`;
const variables = {
title: 'Example Title',
description: 'Example description.',
};
const result = await graphQLClient.query({
query: query,
variables: variables,
});
- ミューテーションを実行するには、GraphQLClientの
mutateメソッドを使用し、クエリおよび変数を渡します:
const graphQlRequest = `
mutation ($title: String!, $description: String!) {
create(
input: {
title: $title,
description: $description,
}
) {
success
result {
id
title
description
}
}
}
`;
const variables = {
title: 'Example Title',
description: 'Example description.',
};
const result = await graphQLClient.mutate({
query: graphQlRequest,
variables: variables,
});