You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SpringBoot整合GraphiQL/GraphQL遇404无法访问问题求助

问题

我用Java + SpringBoot开发基础REST API,已经更新application.properties和pom.xml集成GraphQL/GraphiQL,但启动后访问localhost:8080/graphiql或/graphql都返回404。已经实现了GraphQLMutationResolver和GraphQLQueryResolver接口的变更器与解析器。

注意:service、web、static、templates目录已被标记为排除,运行时不属于项目内容。

附带三张截图:1. 错误显示说明;2. Application.properties配置;3. localhost:8080/graphiql访问情况。

排查方案

1. 核对依赖完整性

确保pom.xml里包含Spring GraphQL核心依赖和Web starter(GraphiQL依赖Web支持):

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-graphql</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

2. 检查配置文件正确性

确认application.properties里的GraphQL配置无误:

# GraphQL主端点
spring.graphql.path=/graphql
# 启用GraphiQL并配置路径
spring.graphql.graphiql.enabled=true
spring.graphql.graphiql.path=/graphiql

如果设置了server.servlet.context-path,访问时要加上这个前缀(比如localhost:8080/your-context/graphiql)。

3. 确认Resolver类被Spring扫描

  • Resolver类必须加@Component或@Service注解,确保Spring能扫描到并注册为Bean
  • 主启动类的@SpringBootApplication扫描范围要覆盖Resolver所在的包

4. 检查Schema文件路径

Spring GraphQL默认读取src/main/resources/graphql/下的.graphqls/.graphql文件,确保:

  • Schema文件存在且路径正确,没有被排除在项目外
  • 如果自定义了路径,在配置里指定:spring.graphql.schema.locations=classpath:your-schema-path/

5. 查看启动日志

启动应用时看控制台日志,找关键信息:

  • 是否有Mapping GraphQL endpoint at '/graphql',确认端点注册成功
  • 是否有GraphiQL endpoint enabled at '/graphiql',确认GraphiQL已启用
  • 有没有Resolver Bean注册失败的报错

6. 核对端口与上下文路径

检查application.properties里的端口和上下文配置:

server.port=8080
# 如果有这个配置,访问要加前缀
# server.servlet.context-path=/your-app

确保访问时用的是正确的端口和路径。

内容的提问来源于stack exchange,提问作者walt936

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 20:42:14