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

Spring Framework应用仅返回404错误,请求未触发对应处理器

排查请求处理器未被调用的常见原因

针对你遇到的/test路径返回404、日志显示请求已到达但Controller方法未执行的问题,可从以下几个方向排查:

  • 组件扫描范围未覆盖Controller类
    Spring Boot默认仅扫描启动类所在包及其子包内的组件。如果LoggingController的包不在启动类的包层级下,Spring无法识别该Controller,也就不会注册请求映射。比如启动类在com.example.demo,而Controller在com.example.controller,需在启动类上添加@ComponentScan(basePackages = "com.example.controller")指定扫描路径。

  • 未考虑应用上下文路径
    若项目配置了服务器上下文路径(如application.properties中设置server.servlet.context-path=/api),实际访问路径应为/api/test而非/test。浏览器直接访问/test会返回404,需确认请求的完整URL是否包含上下文路径。

  • Controller注解异常
    检查@RestController注解的导入是否正确,必须是org.springframework.web.bind.annotation.RestController。若导入了错误包的注解,或注解被误注释,Spring不会将该类识别为请求处理器。

  • HTTP请求方法不匹配
    虽然日志显示是GET请求,但需确认代码中@GetMapping是否被误写为其他方法注解(如@PostMapping),或实际请求是否因浏览器插件、前端代码等原因使用了其他HTTP方法。

  • Spring MVC自动配置被禁用
    若启动类的@SpringBootApplication注解中排除了WebMvc自动配置(如@SpringBootApplication(exclude = WebMvcAutoConfiguration.class)),Web层配置会失效,Controller的请求映射无法注册。检查启动类注解是否存在此类排除配置。

  • 拦截器/过滤器拦截了请求
    若项目中配置了拦截器或过滤器,且这些组件在请求到达Controller前就返回了404,也会出现该现象。排查拦截器/过滤器的逻辑,确认是否对/test路径进行了拦截处理。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 05:25:55