在AppSync示例应用程序中未生成片段

时间:2019-07-02 05:01:22

标签: android graphql apollo aws-appsync

我正在按照here的说明浏览AppSync的示例应用。

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

enter image description here

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

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

我尝试将其添加到appsync Web界面的架构中,它保存了架构,但实际上并没有添加片段。我只是今晚在尝试GraphQL,所以我不太确定在哪里放置片段定义,Google似乎对此一无所知。

1 个答案:

答案 0 :(得分:1)

在回答之前,这里需要更多信息,但是我正在研究同一个示例项目,并且能够使它正常工作,所以我可能会有所帮助。

您的项目正在同步和构建吗?这是很好的第一步。 看来您的.graphql文件是在您的应用程序->源-> appsync-> com文件中自动生成的,但是类不是在应用程序-> build ->源代码-> appsync中生成的-> com文件夹。

我在从事该项目的过程中了解到,在调用amplify add api命令之前,必须在AWS控制台中完全完全设置所有解析程序和后端,这一点很重要。您是否设置了带有解析器的后端?

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

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

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