如何使用Amplify为GraphQL API(AWS AppSync)生成类

3

我有一个由其他人在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
2个回答

4
您应该使用Amplify Mobile SDK而不是Amplify Libraries来为在AWS控制台中创建的API生成类。这真的很令人困惑,因为您必须使用不同的方法进行生成。此外,在AWS中,API概述中有一个错误的链接,它将您引用到库而不是移动SDK。
在控制台中创建的API的生成过程在“代码生成/在控制台创建的AppSync API”中描述https://docs.amplify.aws/sdk/api/graphql/q/platform/android#code-generation

enter image description here


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

amplify pull 失败,并显示如下错误:"Error: EPERM: operation not permitted, stat '..\amplify\backend'" - irkForce
1
有趣,你能给我展示一下你的目录以及你从哪里运行 amplify pull 吗? - youjin
1
我从Android Studio项目根目录运行了它。我找到了问题所在,感谢你的帮助伙计。 - irkForce

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接