Aws appsync 带参数的查询-AWS Amplify-Android

Aws appsync 带参数的查询-AWS Amplify-Android,aws-appsync,aws-amplify,Aws Appsync,Aws Amplify,我很难弄清楚如何将参数传递给查询。在这种情况下,我想获得一个用户名字段。我知道我可以通过一个id,但我如何通过另一个字段?我需要创建二级索引吗 private AWSAppSyncClient mAWSAppSyncClient; mAWSAppSyncClient.query(GetUserQuery.builder().build()) .responseFetcher(AppSyncResponseFetchers.CACHE

我很难弄清楚如何将参数传递给查询。在这种情况下,我想获得一个用户名字段。我知道我可以通过一个id,但我如何通过另一个字段?我需要创建二级索引吗

        private AWSAppSyncClient mAWSAppSyncClient;
        mAWSAppSyncClient.query(GetUserQuery.builder().build())
                .responseFetcher(AppSyncResponseFetchers.CACHE_AND_NETWORK)
                .enqueue(userCallback);


query GetUser($id: ID!) {
  getUser(id: $id) {
    id
    userId
    name
    ...
  }
}
使用ListUsers(ListXXXX)查询多个参数

示例-按name=“aaa”查询:

ModelStringFilterInput ModelStringFilterInput=ModelStringFilterInput.builder().eq(“aaa”).build();
ModelUserFilterInput ModelUserFilterInput=ModelUserFilterInput.builder().name(modelStringFilterInput.build();
mAWSAppSyncClient.query(ListUsersQuery.builder().filter(modelUserFilterInput.build())
.responseFetcher(AppSyncResponseFetchers.CACHE\u和\u网络)
.enqueue(userCallback);
私有GraphQLCall.Callback userCallback=new GraphQLCall.Callback(){
@凌驾
public void onResponse(@Nonnull Response){
Log.d(TAG,response.data().listUsers().items().toString());
}
@凌驾
public void onFailure(@Nonnull-e){
Log.d(标记,例如toString());
}
};
ModelStringFilterInput modelStringFilterInput = ModelStringFilterInput.builder().eq("aaa").build();
ModelUserFilterInput modelUserFilterInput = ModelUserFilterInput.builder().name(modelStringFilterInput).build();
mAWSAppSyncClient.query(ListUsersQuery.builder().filter(modelUserFilterInput).build())
        .responseFetcher(AppSyncResponseFetchers.CACHE_AND_NETWORK)
        .enqueue(userCallback);


private GraphQLCall.Callback<ListUsersQuery.Data> userCallback = new GraphQLCall.Callback<ListUsersQuery.Data>() {
    @Override
    public void onResponse(@Nonnull Response<ListUsersQuery.Data> response) {
        Log.d(TAG, response.data().listUsers().items().toString());
    }

    @Override
    public void onFailure(@Nonnull ApolloException e) {
        Log.d(TAG, e.toString());
    }
};