Spring Boot集成GraphQL+JPA启动报无Query根解析器错误
问题根因
你项目中Query解析器实现的接口包与依赖的GraphQL工具包不匹配,导致Spring无法识别到合法的查询根解析器。
修复步骤
- 首先修正Query Resolver的导入错误:
你当前Query类引入的是新版kickstart维护的Resolver接口,和项目依赖的老版本coxautodev工具包不兼容,把导入替换为注释的旧版接口即可:
// 移除该导入 // import graphql.kickstart.tools.GraphQLQueryResolver; // 放开下方注释启用正确的接口导入 import com.coxautodev.graphql.tools.GraphQLQueryResolver;
- 额外检查项:
- 确认
src/main/resources/graphql目录下存在schema定义文件(通常命名为schema.graphqls),且已定义type Query,内部字段名和Query类的方法名完全一致 - 确认所有Resolver类的所在包,位于主启动类
DemographqlApplication的同级或子包下,否则@Component注解不会被Spring扫描,无法注册为可用Bean - 若后续需要对外提供GraphQL web服务,删除
application.properties中的spring.main.web-application-type=none配置,否则不会启动web容器,无法暴露GraphQL调用端点
内容的提问来源于stack exchange,提问作者rishu rathaur
相关产品推荐
相关产品推荐

