问题标签 [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.
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:我剥离了代码并进行了一些清理以使其更简洁。所以代码可能无法运行,但确实说明了问题。
java - 如何使用 spring-spqr graphql-spqr-spring-boot-starter graphQL 的注释创建片段
使用graphql-spqr-spring-boot-starter和graphql-spqr但无法使用 @GraphQLDirective 创建片段,不确定是否有办法这样做。
我的意图是通过像这样的代码来创建片段
并在下面的查询中使用这个片段,有人可以指导我使用的注释是什么
graphql-java - GraphQL-SPQR 库是否已准备好生产?
我正在处理现有的 REST API 项目并尝试使用 graphql-spqr 库将其迁移到 GraphQL。有人可以帮我看看这个库是否可以生产吗?有人在他们的产品中使用过 spqr 库吗?
提前致谢!
java - 为什么我会收到与使用 graphql-spqr-spring-boot-starter 的“类型名称冲突”相关的警告?
有人可以在这里帮助我吗,我收到与“类型名称冲突”相关的警告,如下所示。我正在使用 graphql-spqr-spring-boot-starter。
我参考了页面https://github.com/leangen/graphql-spqr/wiki/Errors#non-unique-type-name但无法找到/理解如何修复它。我是graphql的新手,非常感谢任何人的帮助。
java - 我们如何从 GraphQL 的 RequestContextHolder 获取 GraphQL 的 HttpServletRequest(DefaultGlobalContext)(使用 graphql-spqr-spring-boot-starter)?
我正在使用graphql-spqr-spring-boot-starter
库将现有的 Rest API 项目迁移到 GraphQL。我有一段代码可以HttpServletRequest
从RequestContextHolder
Rest API 中获取电流:
但是,这会为 GraphQL 返回 null。我相信这是正确的,因为对于 GraphQL,我们必须使用DefaultGlobalContext<ServletWebRequest>
而不是HttpServletRequest
. 但我不确定我们该怎么做。
但是,我尝试了下面的代码:
但它不起作用 -requestAttributes
返回 null。
我对 GraphQL 很陌生,谁能帮我知道如何获得 GraphQL 的 HttpServletRequest (DefaultGlobalContext)?这将不胜感激。
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
迁移前:
- spring-boot-starter-data-jpa - 1.5.12(从 Spring Boot 版本获取)
- spring-data-commons (1.13.12.RELEASE)
显示 org.springframework.data.repository 包没有错误
迁移后:
- spring-boot-starter-data-jpa - 2.1.14(从 Spring Boot 版本获取)
- 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 的类文件
有人可以提出一些建议来解决这个问题。
提前致谢
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
呢?
有人可以帮助我如何删除此声明并仅发送特定消息吗?
java - 如何使用 spqr-spring-boot-starter 在 graphql 中获取模式文件?
谁能帮助我如何使用 spqr-spring-boot-starter 获取模式文件?
我在网上寻找解决方案,发现:如何使用 SPQR 获取生成的方案文件 .graphqls?
但我不确定我应该为模式传递什么?当我使用 spqr-spring-boot-starter 时,我没有写任何与 GraphQLSchema 实例相关的内容。
我需要架构文件来启用 Postman 中的自动完成功能。如果您对此有所了解,请提供帮助,这将非常有帮助。谢谢!
spring-boot - 如何在 graphql-spqr-spring-boot-starter 中禁用模式自省
我已经将我的 Spring Boot 应用程序与graphql-spqr-spring-boot-starter https://github.com/leangen/graphql-spqr-spring-boot-starter集成在一起,我需要找到一种方法来禁用 graphql 模式自省因为它是生产的安全问题。