【问题标题】:Fragment not Generated in AppSync Sample AppAppSync 示例应用程序中未生成片段
【发布时间】:2019-11-12 16:44:04
【问题描述】:

我正在浏览 AppSync 的示例应用程序,如 here 所述。

我在 GitHub here 上找到了一个示例 Android 客户端应用程序,并试图让它与我的数据一起运行,但由于某种原因没有生成片段。

events.graphql 似乎是事件片段定义。

fragment Event on Event {
  id
  description
  name
  when
  where
  comments {
    items {
      eventId
      commentId
      content
      createdAt
    }
  }

我尝试将其添加到 appsync Web 界面中的架构中,它会保存架构,但实际上并没有添加片段。我今晚才尝试使用 GraphQL,所以我什至不确定将片段定义放在哪里,而且 Google 似乎对此一无所知。

【问题讨论】:

    标签: android graphql apollo aws-appsync


    【解决方案1】:

    在回答之前需要更多信息,但我正在处理相同的示例项目并且能够使其正常工作,因此我可能会有所帮助。

    您的项目是否正在同步和构建?这是很好的第一步。 看起来你的 .graphql 文件是在你的 app-> source -> appsync -> com 文件中自动生成的,但类没有在 app -> build -> source -> appsync 中生成-> com 文件夹。

    我在处理这个项目的过程中学到的一点是,在调用amplify add api 命令之前,在 AWS 控制台中完全设置好所有解析器和后端非常重要。您是否使用解析器设置了后端?

    如果您有但仍然无法正常工作,请尝试在应用程序终端 amplify gql-compile 中运行,然后运行 ​​amplify push 以将数据从控制台拉回您的应用程序,然后根据需要重新同步和重建。这应该为您构建您的 Query/Mutation/Subscription 类,以及 Fragment.class,它们是您程序中要在应用程序中运行的 .graphql 查询/等的解析器。

    如果这不起作用,请确保您已完成放大 API 中的所有必要步骤,例如 amplify add apiamplify update api。看来您已经这样做了,因为您已经在 app-> 源目录中生成了 .graphql 文件,但如果您还没有,那么这些是第一步。您还可以通过运行amplify status 来检查以确保您实际上已连接到数据库(以及控制台中的正确 api)。您是否已连接到需要连接的控制台 API?

    作为最后的手段,您可以从 github 复制 Event.class 文件并将其粘贴到适当的文件/子目录中,以及应该由 ApolloGraphql 生成的其余 Query/Mutation/etc .class 文件插件。

    【讨论】:

      猜你喜欢
      • 2017-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多