Spring 在 Graphiql 中读取模式启动错误 UI
Spring Boot Error Reading Schema In Graphiql UI
我正在使用 JDK 11 和 Spring Boot 2.6.4 使用实验性 Graph QL 启动器创建一个 Graph QL 服务,然后是 Josh Long's YouTube demonstration:
<dependency>
<groupId>org.springframework.experimental</groupId>
<artifactId>graphql-spring-boot-starter</artifactId>
<version>1.0.0-M4</version>
</dependency>
当然,Josh Long 的演示非常完美。
我的下一步是使用我自己的架构和模型对象扩展他的演示。我有一个存储库接口,它由内存中的实现支持,方法返回硬编码的对象列表。 graphiql UI 连接到服务,在模式中显示查询,并在我执行查询时向我显示硬编码对象。
最后一步是将内存存储库替换为连接到 Mongo 数据库的存储库。我还在应用程序中内置了一个 Swagger UI。 Swagger UI 连接到服务并允许我毫无问题地从 Mongo 数据库查询对象。
但是 graphiql UI 给我一个错误。控制台是干净的——没有抛出异常,没有记录错误消息。我一直没有找到正确的位置来设置断点以查看问题所在。我不明白为什么添加 Mongo DB 会破坏 Graph QL。如果有任何建议,我将不胜感激。
{
"errors": [
{
"message": "Failed to execute 'text' on 'Response': body stream already read",
"stack": "TypeError: Failed to execute 'text' on 'Response': body stream already read\n at http://localhost:9090/ForAgentsGraphQlDataService/graphiql?path=/graphql:78:33"
}
]
}
我通过进行以下更改使我的服务正常工作:
- 已升级到 Spring Boot 2.7.0,其中捆绑了 spring-boot-starter-graphql 的 2.7.0 版本。
- 删除了所有 LocalDate 字段以支持字符串。我看到一个日期字段没有被正确解析的异常。
现在 graphiql UI 可以完美运行了。没有更多的提取错误。该架构按预期工作。
我正在使用 JDK 11 和 Spring Boot 2.6.4 使用实验性 Graph QL 启动器创建一个 Graph QL 服务,然后是 Josh Long's YouTube demonstration:
<dependency>
<groupId>org.springframework.experimental</groupId>
<artifactId>graphql-spring-boot-starter</artifactId>
<version>1.0.0-M4</version>
</dependency>
当然,Josh Long 的演示非常完美。
我的下一步是使用我自己的架构和模型对象扩展他的演示。我有一个存储库接口,它由内存中的实现支持,方法返回硬编码的对象列表。 graphiql UI 连接到服务,在模式中显示查询,并在我执行查询时向我显示硬编码对象。
最后一步是将内存存储库替换为连接到 Mongo 数据库的存储库。我还在应用程序中内置了一个 Swagger UI。 Swagger UI 连接到服务并允许我毫无问题地从 Mongo 数据库查询对象。
但是 graphiql UI 给我一个错误。控制台是干净的——没有抛出异常,没有记录错误消息。我一直没有找到正确的位置来设置断点以查看问题所在。我不明白为什么添加 Mongo DB 会破坏 Graph QL。如果有任何建议,我将不胜感激。
{
"errors": [
{
"message": "Failed to execute 'text' on 'Response': body stream already read",
"stack": "TypeError: Failed to execute 'text' on 'Response': body stream already read\n at http://localhost:9090/ForAgentsGraphQlDataService/graphiql?path=/graphql:78:33"
}
]
}
我通过进行以下更改使我的服务正常工作:
- 已升级到 Spring Boot 2.7.0,其中捆绑了 spring-boot-starter-graphql 的 2.7.0 版本。
- 删除了所有 LocalDate 字段以支持字符串。我看到一个日期字段没有被正确解析的异常。
现在 graphiql UI 可以完美运行了。没有更多的提取错误。该架构按预期工作。