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

Spring Data Neo4j调用接口报ServletRequestPathUtils无方法错误如何解决

问题根因

你遇到的报错是典型的Spring依赖版本不匹配+技术栈不兼容两个问题叠加导致的:

  1. 依赖版本冲突:从报错堆栈能看到spring-webmvc的版本是5.3.6,但你手动强制指定了spring-web的版本为5.3.2,两个模块版本不一致,5.3.2版本的spring-web里没有spring-webmvc 5.3.6要调用的ServletRequestPathUtils.setParsedRequestPath方法,直接触发NoSuchMethodError。
  2. 技术栈不兼容:你用的是ReactiveNeo4jRepository反应式数据仓库,返回值是Flux,但你引入的是servlet栈的spring-boot-starter-web,传统Servlet栈不原生支持反应式类型返回值。

修复步骤

  • 先删掉pom文件里手动引入的两个spring-web依赖,spring-boot-starter-web本身已经携带了匹配版本的spring-web,手动指定版本反而会导致依赖冲突。
  • 二选一处理技术栈兼容问题:
    • 如果你要继续用反应式Neo4j操作,把spring-boot-starter-web替换为spring-boot-starter-webflux,用反应式web栈适配反应式仓库返回的Flux类型
    • 如果你不想改web栈,把UserRepository继承的ReactiveNeo4jRepository改成普通的Neo4jRepository,控制器接口返回值从Flux<User>改成List<User>即可。

修改完成后重新拉取依赖、重启项目,接口就能正常返回数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 03:42:00