问题标签 [graphql-spqr-spring-boot-starter]

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 回答
692 浏览

java - 带有 Spring Boot 和事务边界的 graphql-spqr

我们将 graphql-spqr 和 graphql-spqr-spring-boot-starter 用于一个新项目(使用 Spring DataJPA、hibernate 等)。

我们有一个这样的突变:

这种突变工作正常:

我省略了变量,因为它们并不重要。如果我将其更改为:

我得到一个 LazyInitalizationException ,我知道为什么:

homeTeam 由 ID 引用并由teamRepository. 返回的团队只是一个休眠代理。这对于保存新匹配很好,不需要更多。但是为了发回结果,GraphQL 需要访问代理并调用 match.team.getName()。但这显然发生在标有 的事务之外@Transactional

我可以使用 Team homeTeam teamRepository.findById(matchForm.getHomeId()).orElse(null); 修复它 match.setHomeTeam(主队);

Hibernate 不再加载代理,而是加载真实对象。但是由于我不知道 GraphQL 查询到底要求什么,所以如果以后不需要,急切地加载所有数据是没有意义的。如果 GraphQL 能够在@Transactional.

对此有什么建议吗?

PS:我剥离了代码并进行了一些清理以使其更简洁。所以代码可能无法运行,但确实说明了问题。

0 投票
1 回答
248 浏览

java - 如何使用 spring-spqr graphql-spqr-spring-boot-starter graphQL 的注释创建片段

使用graphql-spqr-spring-boot-startergraphql-spqr但无法使用 @GraphQLDirective 创建片段,不确定是否有办法这样做。

我的意图是通过像这样的代码来创建片段

并在下面的查询中使用这个片段,有人可以指导我使用的注释是什么

0 投票
0 回答
132 浏览

graphql-java - GraphQL-SPQR 库是否已准备好生产?

我正在处理现有的 REST API 项目并尝试使用 graphql-spqr 库将其迁移到 GraphQL。有人可以帮我看看这个库是否可以生产吗?有人在他们的产品中使用过 spqr 库吗?

提前致谢!

0 投票
1 回答
200 浏览

java - 为什么我会收到与使用 graphql-spqr-spring-boot-starter 的“类型名称冲突”相关的警告?

有人可以在这里帮助我吗,我收到与“类型名称冲突”相关的警告,如下所示。我正在使用 graphql-spqr-spring-boot-starter。

我参考了页面https://github.com/leangen/graphql-spqr/wiki/Errors#non-unique-type-name但无法找到/理解如何修复它。我是graphql的新手,非常感谢任何人的帮助。

0 投票
1 回答
436 浏览

java - 我们如何从 GraphQL 的 RequestContextHolder 获取 GraphQL 的 HttpServletRequest(DefaultGlobalContext)(使用 graphql-spqr-spring-boot-starter)?

我正在使用graphql-spqr-spring-boot-starter库将现有的 Rest API 项目迁移到 GraphQL。我有一段代码可以HttpServletRequestRequestContextHolderRest API 中获取电流:

但是,这会为 GraphQL 返回 null。我相信这是正确的,因为对于 GraphQL,我们必须使用DefaultGlobalContext<ServletWebRequest>而不是HttpServletRequest. 但我不确定我们该怎么做。

但是,我尝试了下面的代码:

但它不起作用 -requestAttributes返回 null。

我对 GraphQL 很陌生,谁能帮我知道如何获得 GraphQL 的 HttpServletRequest (DefaultGlobalContext)?这将不胜感激。

0 投票
0 回答
84 浏览

spring-boot - 将 spring-data-commons 与 spring-boot-2.1.x 一起使用时的包问题

我正在将 Spring Boot 从 1.5.12 迁移到 2.1.14。我们使用 Gradle 作为构建工具,因此作为 Spring Boot 迁移的一部分,我们必须将 Gradle 从 3.x 更改为 4.x,并尝试根据需要更新 build.gradle。迁移后,CRUDRepository 相关 API 中会显示错误。

我们正在使用 spring-boot-starter-data-jpa 和 spring-data-commons

迁移前:

  1. spring-boot-starter-data-jpa - 1.5.12(从 Spring Boot 版本获取)
  2. spring-data-commons (1.13.12.RELEASE)

显示 org.springframework.data.repository 包没有错误

迁移后:

  1. spring-boot-starter-data-jpa - 2.1.14(从 Spring Boot 版本获取)
  2. spring-data-commons (2.0.7.RELEASE)

错误:org.springframework.data.repository。未解决

如果我将 spring-data-common-1.13.12.RELEASE 与 spring-boot-2.x 一起使用,则会出现以下错误。

原因:找不到 org.springframework.data.repository.config.BootstrapMode 的类文件

有人可以提出一些建议来解决这个问题。

提前致谢

0 投票
1 回答
2168 浏览

exception - 无法摆脱 graphql-spqr-spring-boot-starter 中的“获取数据时出现异常(/{apiName})”

我正在使用 'io.leangen.graphql' 的 'graphql-spqr-spring-boot-starter' 库版本 0.0.4。我可以自定义错误。请参阅以下代码和屏幕截图以供参考:

楷模:

服务等级:

自定义异常类:

帖子图片

但是,我不确定如何摆脱Exception while fetching data (/saveStudent)上面屏幕截图中的message字段。我知道我们可以拥有GraphQLExceptionHandler实现GraphQLErrorHandler (graphql-java-kickstart). 但是有什么选择sqpr-spring-boot-starter呢?

有人可以帮助我如何删除此声明并仅发送特定消息吗?

0 投票
0 回答
120 浏览

java - 如果出现异常,如何停止 graphql-spqr-spring-boot-starter 打印日志?

有人可以帮我解决如何避免在 graphql 中打印堆栈跟踪以防发生异常(例如发送无效 id 以查找记录或创建记录而不发送必填字段)?

我正在使用 graphql-spqr-spring-boot-starter 并打印日志以防发送无效数据。以下是截图:

在此处输入图像描述

Eclipse 控制台: 在此处输入图像描述

任何人的帮助将不胜感激。谢谢!

0 投票
1 回答
323 浏览

java - 如何使用 spqr-spring-boot-starter 在 graphql 中获取模式文件?

谁能帮助我如何使用 spqr-spring-boot-starter 获取模式文件?

我在网上寻找解决方案,发现:如何使用 SPQR 获取生成的方案文件 .graphqls?

但我不确定我应该为模式传递什么?当我使用 spqr-spring-boot-starter 时,我没有写任何与 GraphQLSchema 实例相关的内容。

我需要架构文件来启用 Postman 中的自动完成功能。如果您对此有所了解,请提供帮助,这将非常有帮助。谢谢!

0 投票
3 回答
809 浏览

spring-boot - 如何在 graphql-spqr-spring-boot-starter 中禁用模式自省

我已经将我的 Spring Boot 应用程序与graphql-spqr-spring-boot-starter https://github.com/leangen/graphql-spqr-spring-boot-starter集成在一起,我需要找到一种方法来禁用 graphql 模式自省因为它是生产的安全问题。