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

Spring项目中访问@RequestMapping定义的URL出现404如何解决?

解决Spring API请求返回404的排查方案

针对你遇到的/api/user GET请求返回404的问题,按以下步骤逐一排查:

  • 确认控制器组件被Spring扫描到
    检查带@SpringBootApplication注解的项目主类所在包,确保UserApiController所在的包是主类包的子包,或者在主类上通过@ComponentScan显式指定控制器所在的包路径。如果控制器不在默认扫描范围内,Spring不会注册这个控制器的映射。

  • 验证控制器注解正确性
    确保UserApiController类上标注的是@RestController(如果用@Controller,需要给getUsers()方法额外加@ResponseBody),同时所有请求注解(@RequestMapping、@GetMapping)都来自org.springframework.web.bind.annotation包,没有拼写错误。

  • 查看启动日志中的映射注册信息
    启动项目时,在控制台日志里查找类似Mapped "{[/api/user],methods=[GET]}"的条目,如果找不到这条日志,说明该请求路径根本没被Spring注册,回到组件扫描或注解配置的问题上。

  • 核对服务器端口
    确认项目实际启动的端口是8080,查看启动日志里的Tomcat started on port(s): XXXX (http)信息,避免因application.properties/application.yml中配置了其他端口导致访问路径错误。

  • 检查Web依赖是否齐全
    确保项目已引入Spring Web Starter依赖,没有这个依赖的话,Spring不会启动Web服务:
    Maven配置(pom.xml):

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

    Gradle配置(build.gradle):

    implementation 'org.springframework.boot:spring-boot-starter-web'
    
  • 排查拦截器/过滤器的影响
    如果项目中有自定义拦截器或过滤器,可能会拦截/api/user请求,暂时禁用这些组件后测试请求是否正常,以此排查是否是拦截逻辑导致的404。

内容的提问来源于stack exchange,提问作者Gaetan L.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 00:00:05