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

SpringBoot访问/employee/all接口返回404 Not Found问题排查求助

问题排查结果

核心404原因

你对@RestController注解的作用存在误用,导致接口路径和预期不符:

  • @RestController注解的字符串参数是用来指定Spring容器中该Bean的名称,不是用来配置接口公共前缀路径的
  • 你当前的配置为:
@RequestMapping
@RestController("/employee")
public class EmployeeMapper {
  @GetMapping("/all")
  public ResponseEntity<List<Employee>> getAllEmployees() {
    // 业务逻辑
  }
}

这种配置下,/all接口的实际访问路径是http://localhost:8080/all,和你请求的http://localhost:8080/employee/all不匹配,自然返回404。

修复方案

将公共路径前缀配置到@RequestMapping注解中即可,修改后的Controller类注解部分如下:

@RequestMapping("/employee")
@RestController
public class EmployeeMapper {
  // 原有方法逻辑保持不变
}

修改后重启项目,即可通过http://localhost:8080/employee/all正常访问接口。

其他潜在问题建议修复

  • 方法重名问题:当前Controller中查询所有员工和查询单个员工的方法名都是getAllEmployees,会直接导致编译失败,建议将查询单个员工的方法名改为getEmployeeById
  • 编译版本不一致问题:pom.xml中properties节点指定的java.version是1.8,但maven-compiler-plugin配置的source和target都是10,版本不一致可能导致运行异常,建议统一为你实际使用的JDK版本
  • 分层命名不规范问题:你当前的Controller层被命名为Mapper,容易和MyBatis等ORM框架的Mapper接口混淆,建议修改为EmployeeController更符合Spring项目通用规范

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 18:39:04