Spring Boot项目URL正确却返回404资源未找到问题排查
Spring Boot 接口返回404排查方案
- 检查启动类包扫描范围
Spring Boot默认仅扫描启动类所在包及其子包下的组件,若你的DepartmentController、DepartmentControllerConsumer所在包不在启动类扫描范围内,Spring不会实例化注册该Controller,自然无法匹配到请求路径。你可以在启动类上添加@ComponentScan(basePackages = "你的Controller、Service所在包路径")指定扫描范围,或者将相关类移动到启动类所在包的子目录下。 - 检查服务上下文路径配置
查看application.properties或application.yml配置文件中是否设置了server.servlet.context-path参数,若配置了该参数(比如值为/demo),则正确的请求路径应为http://你的IP:端口/配置的上下文路径/departments,直接访问/departments会返回404。 - 确认服务启动端口正确
查看Spring Boot启动控制台日志中输出的服务端口,若你修改了server.port配置为非8080端口,Postman请求时需要对应修改端口号,不要默认用8080访问。 - 确认请求规则匹配
检查Postman的请求方法是否为GET,路径拼写是否和@GetMapping中定义的完全一致,注意Spring MVC默认路径大小写敏感,不要出现拼写错误、多/少字符、大小写不匹配的情况。同时检查是否配置了spring.mvc.servlet.path全局路径前缀,若有配置需要加上前缀再请求。 - 验证Controller是否注册成功
启动服务时查看控制台日志,搜索是否有如下类似的映射打印:
o.s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/departments],methods=[GET]}" onto 你的Controller对应方法全限定名
如果没有该日志输出,说明Controller未被Spring注册,优先排查包扫描配置问题。
内容的提问来源于stack exchange,提问作者siva prakash
相关产品推荐
相关产品推荐

