我正在将 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]
我尝试过的:
最终,问题是 application.properties 中缺少以下条目:
spring.graphql.websocket.path=/graphql
我添加了这个,它开始工作了。
我从https://github.com/spring-projects/spring-graphql-examples
找到了这个例子