当前位置: 首页 > 知识库问答 >
问题:

用java发送GraphQl查询

乐城
2023-03-14

我是GraphQL新手。我知道这是个很基本的问题。但我花了很多时间却没能成功。

我的需求是我需要从java类使用graphql-java api方法发送GraphQL查询。

以下是查询:

{
  contentItem(itemId: 74152479) {
    slug
    updatedAt
    contributors {
      id
      isFreeForm
      name
    }
  }
}

共有1个答案

施宏大
2023-03-14

首先,您必须详细说明您的问题,从您的示例查询中,我实际上看不出您有问题的是哪一部分,它可能在参数、嵌套对象或数据提取器中

我对GraphQL(java)也是一个新手,我不想与您分享直接的答案,而是想向您展示我是如何解决类似问题的。

实际上,graphql-java在他们的测试用例中做了很好的工作。您可以在这里参考:https://github.com/andimarek/graphql-java/tree/master/src/test/groovy/GraphQL,了解如何创建和查询GraphQL模式。

newFieldDefinition()
    .name("human")
    .type(humanType)
    .argument(newArgument()
        .name("id")
        .description("id of the human")
        .type(new GraphQLNonNull(GraphQLString))
        .build())
    .dataFetcher(StarWarsData.getHumanDataFetcher())
    .build())

对于字段,它在humantype中定义,您可以参考https://github.com/andimarek/graphql-java/blob/master/src/test/groovy/graphql/starwarsschema.java#L51。Nested fields只是包含某些字段的另一种类型,例如.type(nestedHumanType)

毕竟,您可能需要处理参数id并返回一些数据。您可以参考下面的示例:https://github.com/andimarek/graphql-java/blob/master/src/test/groovy/graphql/starwarsdata.groovy#L84

为了让我的代码看起来更干净,通常我会为DataFetcher创建一个单独的类,例如:

public class HumanDataFetcher implements DataFetcher {
    @Override
    public Object get(DataFetchingEnvironment environment) {
        String id = (String)environment.get("id");
        // Your code here
    }
}
 类似资料:
  • 我正试图发送一个突变到我的graphql服务器以更新日期。我的变异模式如下所示:

  • AWS CLI for AppSync有一系列可爱的功能,可以从工作站的命令行远程管理它,因此我基本上不必使用浏览器控制台。 但要进行查询,我必须进入web浏览器控制台,在AppSync下查找GraphQl查询。我可以通过CLI更改所有方式,但我找不到一个简单地发出graphql查询的命令。 我错过了吗?它在那里吗<我不想再看这个屏幕了。。。

  • 这里输入图像描述我正在尝试使用GraphQL获取一些数据。代码应该是以下格式的,但是在调试的时候,我出现了如下错误: [{“message”:“\”input\“value必须指定”,“category”:“graphql-input”,“locations”:[{“line”:1,“column”:10}]}]

  • 我试图让我的elm(v:0.18)客户机通过GraphQL与我的后端对话。我现在试图避免elm-graphql库和基本的elm HttpBuilder模块。 login命令如下所示:

  • 问题内容: 我可以用Java发送原始帧(低级Internet数据包)吗? 问题答案: 有一个包装周围的libpcap 这里,让您发送原始IP数据包。 标准Java Java库仅提供UDP和TCP的API。

  • 本文向大家介绍Java 使用 Graphql 搭建查询服务详解,包括了Java 使用 Graphql 搭建查询服务详解的使用技巧和注意事项,需要的朋友参考一下 背景 随着React的开源,facebook相继开源了很多相关的项目,这些项目在他们内部已经使用了多年,其中引起我注意的就是本次讨论的是graphql,目前官方只有nodejs版,由于很多公司的后台技术栈都是Java,所以便有了graphq