使用 Postman 在 AWS 中使用 GraphQL 测试服务(AppSync、Apollo)

pmi*_*nda 4 graphql-js react-apollo aws-appsync

我正在尝试使用 Postman 通过 Graphql 调用服务。从我的应用程序 (React) 中,我可以毫无问题地使用所有服务(因此,它们运行正常),但我想用 Postman 单独测试它们。

我正在使用 AppSync,这是我的配置:

const AppSyncConfig = {
  url: environments.configAws.graphql.aws_appsync_graphqlEndpoint,
  region: environments.configAws.graphql.aws_appsync_region,
  auth: {
    type: AUTH_TYPE.API_KEY,
    apiKey: environments.configAws.graphql.aws_appsync_apiKey,
  }
};
Run Code Online (Sandbox Code Playgroud)

环境变量是这样的:

graphql: {
    aws_project_region: "us-east-1",

    aws_appsync_graphqlEndpoint: "https://XXXXXXXXXXXXX.appsync-api.us-east-1.amazonaws.com/graphql",
    aws_appsync_region: "us-east-1",
    aws_appsync_authenticationType: "API_KEY",
    aws_appsync_apiKey: "da2-XXXXXXXXXXXX"
}
Run Code Online (Sandbox Code Playgroud)

该应用程序使用它来进行查询:

const client = new AWSAppSyncClient(AppSyncConfig, {
  link: createAppSyncLink({ ...AppSyncConfig,
    resultsFetcherLink: ApolloLink.from([
      setContext((request, previousContext) => ({
        headers: { ...previousContext.headers,
          Authorization: localStorage.getItem('token') ? localStorage.getItem('token') : ''
        }
      })),
      createHttpLink({
        uri: AppSyncConfig.url
      })
    ])
  })
});

const data_configs = client.readQuery({ query: query_configs });
Run Code Online (Sandbox Code Playgroud)

在 Postman 中,我有这个配置,但出现错误:

在此处输入图片说明

我今天使用了这段代码,我之前没有使用过 Graphql(所以也没有使用过 AppSync、ApolloLink 等),但是我问它是否有一个简单的解决方案,或者至少是我应该检查什么的提示。谢谢。

Eri*_*erg 13

我能够使用以下步骤通过 Postman 调用我的 AWS Amplify GraphQL 终端节点:

  1. 创建一个新的邮递员请求
  2. 将请求类型设置为“POST”
  3. 在请求URL中输入API URL
  4. 在 Headers 选项卡中添加 'x-api-key': {{API KEY}} 标头
  5. 添加由格式良好的 GraphQL 查询组成的主体
  6. 单击发送


Ion*_*ian 11

我相信 API KEY 的标头名称不是 API_KEY 而是 x-api-key。