Spring Boot GraphQL 订阅返回 405 METHOD_NOT_ALLOWED

问题描述 投票:0回答:1

我正在将 Spring Boot 与 GraphQL 结合使用,但我的订阅未按预期运行。具体来说,当尝试发出订阅请求时,服务器会响应 405 METHOD_NOT_ALLOWED。

这是日志的相关部分:

2025-01-16T16:17:49.484+03:00 DEBUG 8468 --- [blogit] [nio-8000-exec-4] o.s.security.web.FilterChainProxy        : Securing GET /graphql 2025-01-16T16:17:49.484+03:00 DEBUG 8468 --- [blogit] [nio-8000-exec-4] o.s.web.servlet.DispatcherServlet        : Completed 405 METHOD_NOT_ALLOWED 2025-01-16T16:17:49.500+03:00 DEBUG 8468 --- [blogit] [nio-8000-exec-3] o.apache.coyote.http11.Http11Processor   : Error parsing HTTP request header java.io.EOFException: null at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1293) ~[tomcat-embed-core-10.1.34.jar:10.1.34] at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:792) ~[tomcat-embed-core-10.1.34.jar:10.1.34]

我尝试过的:

  1. 确保包含 graphql-spring-boot-starter 依赖项。
  2. 在 GraphQL 架构中配置订阅。
  3. 在 Spring Boot 中验证 WebSocket 配置。
spring-boot graphql graphql-java
1个回答
0
投票

最终,问题是 application.properties 中缺少以下条目:

spring.graphql.websocket.path=/graphql

我添加了这个,它开始工作了。

我从https://github.com/spring-projects/spring-graphql-examples

找到了这个例子
© www.soinside.com 2019 - 2024. All rights reserved.