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

SpringBoot RestController无法工作,请求返回404问题求助

解决SpringBoot RestController返回404的问题

嘿,我太懂这种排查半天找不到原因的痛苦了!之前我也遇到过几乎一样的情况,给你几个实用的排查方向,应该能帮你解决这个404问题:

先把你的代码整理一下方便查看:

@RestController
public class PbxPortalRestControllerSet {
    @RequestMapping("/testMe")
    public String testMe() {
        return "I am alive";
    }
}

@SpringBootApplication
public class PbxPortalApplication {
    public static void main(String[] args) {
        SpringApplication.run(PbxPortalApplication.class, args);
    }
}

1. 先检查包结构是否符合SpringBoot的扫描规则

SpringBoot默认只会扫描@SpringBootApplication所在包及其子包下的所有组件(包括@RestController)。举个例子:

  • 如果你的PbxPortalApplication在com.example.pbxportal包下,那你的控制器必须放在com.example.pbxportal或者com.example.pbxportal.controller这类子包里才能被扫描到。
  • 如果控制器在完全不相关的包(比如com.another.controller),那Spring根本找不到它!

解决方法:
要么调整你的包结构,把控制器移到启动类的同包或子包下;要么在启动类上手动指定扫描路径:

@SpringBootApplication(scanBasePackages = {"com.yourpackage.controller"})
public class PbxPortalApplication {
    // ...
}

2. 确认访问的URL完全正确

你写的@RequestMapping("/testMe")对应的访问路径是http://localhost:8080/testMe(默认端口是8080),要注意这几个点:

  • 有没有在配置文件里设置了上下文路径?比如application.properties里加了server.servlet.context-path=/pbx,那访问路径就得改成http://localhost:8080/pbx/testMe
  • 检查URL的拼写,有没有多打/少打字符?虽然Spring默认不区分URL大小写,但最好和注解里的路径完全一致

3. 验证启动类是否正常启动

看看控制台的启动日志:

  • 有没有看到SpringBoot的启动成功提示?比如Started PbxPortalApplication in 2.3 seconds这种日志
  • 有没有报错信息?比如依赖缺失、端口被占用之类的异常,这些都会导致控制器无法正常加载

4. 检查Spring Web依赖是否存在

如果你的项目里没有引入Spring Web starter依赖,SpringBoot不会自动配置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'

5. 试试用@GetMapping替代@RequestMapping

虽然@RequestMapping默认支持GET请求,但有时候明确指定请求方法能避免一些隐藏的问题,比如不小心用了POST请求访问这个接口?把注解改成@GetMapping("/testMe")再试试。

按这几个步骤排查下来,应该就能找到问题啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:33:15