Spring Boot访问localhost:5001/api/fooddish遇404白标错误求助
Spring Boot 404 错误排查建议
确认应用端口是否正确
检查启动日志,看是否有类似Tomcat started on port(s): 5001 (http)的输出;或者查看application.properties/application.yml中的server.port配置,确保确实设置为 5001。检查控制器扫描范围
@SpringBootApplication注解默认扫描自身所在包及其子包下的组件。如果你的控制器类不在主应用类的包层级内,需要手动指定扫描范围,比如:@SpringBootApplication(scanBasePackages = {"com.yourpackage.main", "com.yourpackage.controller"})对照目录截图,确认控制器所在包是否被Spring容器扫描到。
验证控制器注解与路由配置
- 控制器类必须添加
@RestController(用于API接口)或@Controller(用于视图渲染)注解,否则Spring不会识别为控制器组件。 - 检查路由注解的路径是否正确:比如方法上的
@GetMapping("/api/fooddish")或类上的@RequestMapping("/api")+ 方法上的@GetMapping("/fooddish"),确保路径拼写和层级无误。 - 请求方式要匹配:如果控制器方法用了
@PostMapping,浏览器直接访问(GET请求)会返回404,需调整注解为@GetMapping或用POST请求测试。
- 控制器类必须添加
确认Web依赖是否引入
检查项目依赖配置(Maven的pom.xml或Gradle的build.gradle),确保已引入spring-boot-starter-web依赖,没有这个依赖的话,Spring Boot不会自动配置Web MVC环境,控制器无法生效。Maven依赖示例:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>排查启动类是否正确
确保你运行的是带有@SpringBootApplication注解的主应用类,只有这个类作为入口启动,Spring容器才会正确初始化所有组件包括控制器。
内容的提问来源于stack exchange,提问作者Israel Sanchez
相关产品推荐
相关产品推荐

