AppSync 示例应用程序中未生成片段
Posted
技术标签:
【中文标题】AppSync 示例应用程序中未生成片段【英文标题】:Fragment not Generated in AppSync Sample App 【发布时间】: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 似乎对此一无所知。
【问题讨论】:
【参考方案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 api
、amplify update api
。看来您已经这样做了,因为您已经在 app-> 源目录中生成了 .graphql 文件,但如果您还没有,那么这些是第一步。您还可以通过运行amplify status
来检查以确保您实际上已连接到数据库(以及控制台中的正确 api)。您是否已连接到需要连接的控制台 API?
作为最后的手段,您可以从 github 复制 Event.class 文件并将其粘贴到适当的文件/子目录中,以及应该由 ApolloGraphql 生成的其余 Query/Mutation/etc .class 文件插件。
【讨论】:
以上是关于AppSync 示例应用程序中未生成片段的主要内容,如果未能解决你的问题,请参考以下文章
AWS Appsync Javascript 查询示例和输入语法