问题标签 [graphql-java-tools]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1021 浏览

java - graphql-java-tools:空参数与不存在参数

如果参数显式设置为 null,或者根本没有提供,我如何在 java graphQL 中区分?

我尝试实现的用例如下:我有一个像这样的突变

}

这里的想法是用户只提供他想要更改的字段(例如 react setState)。因此,如果省略了电子邮件,我想保持不变。

但是如果他/她想明确地将 email 设置为 null 怎么办?有没有办法从我的解析器方法中解决这个问题并采取相应的行动?

(我使用 graphql-java-tools 库)

0 投票
1 回答
4400 浏览

java - graphql-java 与 graphql-java-tools 的使用差异

我是graphql的新手,使用官方graphql找到了2个java实现:https ://www.graphql-java.com/documentation/v10/

https://github.com/graphql-java-kickstart/graphql-java-tools

就像他们在 java 中实现 graphql 的区别是什么?

0 投票
1 回答
1468 浏览

graphql - 在 Graphql 中使用枚举作为查询参数

SDL 中使用枚举作为查询参数的 graphql 语法是什么?

解析上述模式将引发错误Expected type 'language' to be a GraphQLInputType, but it wasn't!

定义包含枚举的输入类型将导致类似的错误。

看起来没有办法在 SDL 中使用枚举作为查询参数。

0 投票
4 回答
7772 浏览

java - 如何使用 graphql-java 上传文件?

如果我使用graphql-java,我不知道如何上传文件,有人可以给我演示吗?我将不胜感激!

参考: https ://github.com/graphql-java-kickstart/graphql-java-tools/issues/240

我在springboot中使用graphql-java-kickstart graphql-java-tools试过了,但是没有用

这是我的架构

我希望这个解析器可以打印attchmentParts,所以我可以获得文件部分。

0 投票
2 回答
4458 浏览

java - 如何在 Spring Boot + GraphQL Java 工具的上下文中执行对 GraphQL 的 Java 调用?

在 Spring Boot 应用程序中,我们已经拥有一个功能齐全的 GraphQL 端点,.graphqls通过 GraphQL Java 工具(我们包含graphql-spring-boot-starter依赖项)提供文件,并通过我们的基Query类实现GraphQLQueryResolver和后续GraphQLResolver的处理数据解析。

对于业务需求,我们必须重新创建标准 REST API 端点,所以我想知道为什么不直接调用 GraphQL(而不是再次“手动”重新实现数据解析)?由于它在同一个后端应用程序中,无需进行 HTTP 或 servlet (ForwardRequest) 调用,只需调用 Java 中的一些 API。问题是我不知道如何进行。

我读了这个例子,但它是基本的 GraphQL Java(不是工具): https ://www.graphql-java.com/documentation/v9/execution/

我知道这应该是可能的,因为我们可以在测试中这样做: https ://github.com/graphql-java-kickstart/graphql-spring-boot/blob/master/example-graphql-tools/src/test/java /com/graphql/sample/boot/GraphQLToolsSampleApplicationTest.java

但是如何在常规代码中做到这一点?没有GraphQLTemplate.

我还尝试在以下位置搜索示例:

但没有发现任何与我们的需要相关的东西。

在文档中找不到更多内容:

我错过了什么?理想情况下,我希望注入一些GraphQLSomething这样的:

0 投票
2 回答
4533 浏览

java - 使用 graphql-java-tools 和 graphql-spring-boot-starter 处理错误

如何处理我的 graphQL API 中的错误?我正在使用 graphql-java-tools 和 graphql-spring-boot-starter。我创建了错误处理程序,但每次我得到响应 200,即使抛出异常也是如此。您能告诉我应该如何设置错误代码,例如 400 作为响应吗?

0 投票
1 回答
1150 浏览

java - graphql servlet 未使用 graphql-java-tools 启动(未找到模式文件?)

因此,根据 graphql-java-kickstart/graphql-java-tools ,当将依赖项“com.graphql-java-kickstart:graphql-spring-boot-starter”添加到项目和 .自动扫描 graphqls 模式文件。

我有以下依赖项:

架构定义:

还有一个 GraphQLQueryResolver :

根据文档:

如果将 graphql-spring-boot-starter 作为依赖项添加到启动应用程序并且应用程序中存在 GraphQLSchema bean,则可以在 /graphql 访问 servlet。查看简单示例,了解所需的最低要求。

当在类路径中找到支持的 graphql-java 模式库时,也可以自动创建 GraphQL 模式。

在以下条件下,graphql-java-tools 库应自动创建模式:

所有 GraphQLResolver 和 GraphQLScalar bean,以及 SchemaParserDictionary 类型的 bean(用于提供所有其他类),都将用于创建 GraphQLSchema。类路径上名为 *.graphqls 的任何文件都将用于提供模式定义。有关详细信息,请参阅自述文件。

我想我拥有它需要的一切,但导航到localhost:8080/graphql404。注意:localhost:8080/graphiql有效,但它无法加载架构。它说:

我错过了什么?

0 投票
1 回答
1320 浏览

spring-boot - 我可以从 GraphQLResolver 安全地回调 GraphQLQueryResolver 吗?

我的问题是:实施解析方法时最好的方法是什么?直接调用数据存储库或回调一个主解析器,也就是一个实现GraphQLQueryResolver(只要它有适当的方法)?换句话说(参见下面的示例),DataFetchingEnvironment回调主解析器时是否正确调整/设置?

注意:如果您不熟悉如何Resolvers使用 GraphQL Java 工具,我会让您看看 @ https://www.graphql-java-kickstart.com/tools/schema-definition/

现在举个例子。

在 Spring Boot 应用程序中,使用 GraphQL Java 工具(带有graphql-spring-boot-starter依赖项),让我们拥有以下架构:

具有匹配的 POJO 或实体(getter/setter 被省略):

和这些解析器(注意:UserRepository 和 CompanyRepository 是您通常的 DAO/Repository 类的类,由 Spring Data (JPA)、其他东西或您自己的自定义实现支持,等等……):

DataFetchingEnvironment environment这在每个方法的末尾添加时(更)有意义,并在执行对各种(数据)存储库的调用之前使用它。

继续上面的示例,这样做是否正确(即,DataFetchingEnvironment当再次传输到主 QueryResolver 时会正确填充)?

0 投票
1 回答
1792 浏览

graphql - 在 graphql-java-tools 中禁用 GraphQL Introspection

我试图GraphQL在我的项目中禁用 Introspection,并且对我正在使用的特定框架没有太多运气。一些文章说它可以在CcodeRegistry模块中完成,但这是一个只读的反编译源。有没有人通过 GraphQL-java-kickstart框架实现了这一点?

以下是我的 pom 文件中的依赖项:

0 投票
1 回答
978 浏览

graphql - 从 graphql 获取解析器级别的请求字段

来自 graphql 模式的书籍模型

所以我有这个书的解析器

它工作正常。

现在假设我正在使用这个 graphql 查询,它只请求 Book 的一个字段

问题是,如何获取有关所请求字段的 bookById 方法级别的信息(在这种情况下只有名称字段)?GraphQLQueryResolver 概念甚至可以实现这一点吗?

使用 dataFetcher 的示例

这很好用,但我对 Resolver 方式很感兴趣。可能吗?