Spring Boot调用/getAllUsers接口返回404错误,求排查原因
接口返回404 Not Found的可能原因
- 控制器映射路径不匹配:核对
RegistrationController的注解配置,确认类上的@RequestMapping前缀(如/main)和方法上的@GetMapping/@PostMapping路径(如/getAllUsers)组合后,是否完全对应/main/getAllUsers。任何路径拼写错误、前缀遗漏都会导致无法匹配。 - 主类扫描范围未覆盖控制器:即便添加了
@ComponentScan,若指定的扫描包未包含RegistrationController所在的包,Spring仍无法识别该控制器。需确认@ComponentScan的basePackages属性是否覆盖了控制器所在的包路径。 - 请求方式不匹配:若控制器方法用
@PostMapping定义,但调用时用GET请求,部分场景会返回404(实际为405 Method Not Allowed,但前端可能显示404)。要确保请求方法与控制器注解一致。 - 项目启动端口错误:检查
application.properties中的server.port配置,若端口不是8080,访问localhost:8080自然无法命中接口。 - 控制器未添加必要注解:
RegistrationController类上必须标注@RestController或@Controller(若返回JSON需配合@ResponseBody),否则Spring不会将其注册为请求处理组件。 - 静态资源路径冲突:若项目静态资源目录下存在与
/main/getAllUsers同名的路径或文件,Spring会优先匹配静态资源,导致接口无法被访问。 - Web依赖缺失或版本不兼容:
pom.xml中必须引入spring-boot-starter-web依赖,否则Spring Boot不会启动Web容器;若依赖版本与Spring Boot核心版本不兼容,也可能导致控制器无法正常注册。
内容的提问来源于stack exchange,提问作者Andy Good
相关产品推荐
相关产品推荐

