我正在按照here的说明浏览AppSync的示例应用。
我在GitHub here上找到了一个示例Android客户端应用程序,并试图使其与我的数据一起运行,但由于某种原因未生成片段。
events.graphql具有似乎是事件片段的定义。
fragment Event on Event {
id
description
name
when
where
comments {
items {
eventId
commentId
content
createdAt
}
}
我尝试将其添加到appsync Web界面的架构中,它保存了架构,但实际上并没有添加片段。我只是今晚在尝试GraphQL,所以我不太确定在哪里放置片段定义,Google似乎对此一无所知。
答案 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 api
,amplify update api
。看来您已经完成了此操作,因为您已经在app->源目录中生成了.graphql文件,但是如果您没有这样做,那么这是第一步。您还可以通过运行amplify status
来检查以确保您已真正连接到数据库(并在控制台中更正了api)。您是否已连接到需要连接的控制台API?
作为最后的选择,您可以从github复制Event.class文件,并将其与应该由ApolloGraphql生成的其余Query / Mutation / etc .class文件一起粘贴到适当的文件/子目录中。插件。