【问题标题】:How to generate classes for GraphQL API (AWS AppSync) using Amplify如何使用 Amplify 为 GraphQL API (AWS AppSync) 生成类
【发布时间】:2020-08-20 23:43:03
【问题描述】:

我在 AWS AppSync 上有一个由其他人推送的 GraphQL API,我想连接到它并在我的 Android 应用程序中获取数据。根据 AWS 文档,要将 API 与我的应用程序集成,我应该执行以下 3 个命令:

  npm install -g @aws-amplify/cli
  amplify init
  amplify add codegen --apiId xxxxxx

之后,我需要基于 graphql 模式生成 Java 类。我执行 amplify codegen models 但收到错误“未配置 AppSync API。请添加 API”。如果执行amplify add api,我会得到“您的项目中已经有一个 AppSync API。使用“amplify update api”命令更新您现有的 AppSync API。

为什么我不能生成类?

aws-amplify/cli v4.18.1

【问题讨论】:

    标签: graphql aws-amplify aws-appsync aws-amplify-cli


    【解决方案1】:

    在运行amplify codegen models之前尝试运行amplify pull拉取最新的后端环境。

    【讨论】:

    • amplify pull 失败并出现错误:“错误:EPERM:不允许操作,stat '..\amplify\backend'”
    • 有趣,你能告诉我你的目录和你在哪里运行amplify pull吗?
    • 我从 Android Studio 项目根目录运行它。我发现了问题所在,感谢您的帮助。
    【解决方案2】:

    您应该使用 Amplify Mobile SDK 而不是 Amplify Libraries 来为在 AWS 控制台中创建的 API 生成类。您必须使用不同的生成方法确实令人困惑。此外,在 API 概述中的 AWS 上,有一个错误的链接将您指向的不是移动 sdk,而是库。

    在控制台中创建的 API 的生成过程在 在控制台中创建的代码生成/AppSync APIs中进行了描述https://docs.amplify.aws/sdk/api/graphql/q/platform/android#code-generation

    【讨论】:

      猜你喜欢
      • 2019-07-18
      • 2021-04-24
      • 2019-08-12
      • 2020-11-23
      • 2020-11-12
      • 2019-04-14
      • 2020-09-10
      • 2018-10-27
      • 1970-01-01
      相关资源
      最近更新 更多