AWSAppSyncClient 不检测 graphql 查询

AWSAppSyncClient does not detect graphql queries

I am using AWS AppSync in my Android application and following this link 但我已经在我的 AppSync 中创建了 API,我希望将其导入到我的 Android 应用程序中。我正在 link 使用 Amplify.

使用该应用程序

您是否在 gradle 文件中配置了所有必需的插件和库..

apply plugin: 'com.amazonaws.appsync'

implementation 'com.amazonaws:aws-android-sdk-appsync:2.6.+'
implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.0'
implementation 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1'

并且在清单中您需要具有以下权限。

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

并且您需要在您的应用程序标签中包含以下服务。

 <service android:name="org.eclipse.paho.android.service.MqttService" />

Ok.So 原来 AppSync 中的查询是由不熟悉命名约定的开发人员创建的,他把“_”(下划线) 在查询中,当这些查询由 Amplify 处理时,它仅从 typemutationquery 名称中删除所有 _,但不会从内部方法中删除他们。例如,

type Query {
  getDaily_Build(id: ID!): Daily_Build
}

在 AppSync 在 Android

中的 queries.graphql 中生成以下查询
query GetDailyBuild($id: ID!) {
  getDaily_Build(id: $id) {
    id
    username
    title
  }
}

这给出了错误

Validation of GraphQL query document failed.

我按照命名约定更改了架构,避免使用“_”等特殊字符,现在它运行良好。