Java动态查询graphql阿波罗 [英] dynamic query graphql apollo with java

查看:111
本文介绍了Java动态查询graphql阿波罗的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用graphql apollo的例程是添加文件查询.graphql

The routine of working with the graphql apollo is that add file query .graphql

我将使用 java 创建动态查询,并且我不会为每个查询创建文件

i would create dynamic query with java and i do not create file for each query

示例查询:

一个:

query EntryDetailQuery($repoFullName: String!) {
  entry(repoFullName: $repoFullName) {
    id
    repository {
      full_name
      description
      owner {
          login
      }
    }
    postedBy {
      login
    }
  }
}

两个:

只要求全名

query EntryDetailQuery($repoFullName: String!) {
  entry(repoFullName: $repoFullName) {
    id
    repository {
      full_name

    }
  }
}

实际上,我会使用 Java

有可能吗?

推荐答案

可以在Apollo和Java中使用动态查询.使用graphql查询构建相应的Java文件后,只需使用setter在查询中提供动态参数,然后将查询提供给回调即可.

It is possible to use dynamic queries with Apollo and Java. After building the corresponding java files using graphql queries, just provide the dynamic parameters in the query using setter and provide the query to the callback.

      EntryDetailQuery productListQuery = EntryDetailQuery.builder().repoFullName("test_repo").build();

      ApolloCall.Callback<EntryDetailQuery.Data> callback = new ApolloCall.Callback<EntryDetailQuery.Data>() {

        @Override
        public void onResponse(@Nonnull Response<EntryDetailQuery.Data> response) {
            logger.debug("Response from graphql:" + response);
        }

        @Override
        public void onFailure(@Nonnull ApolloException e) {
            logger.error("Error in getting response from graphql:" + e.getMessage());
        }
    };

    apolloGraphQlClient.getApolloClient().query(productListQuery).enqueue(callback);

这篇关于Java动态查询graphql阿波罗的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆