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

Spring Boot POST请求返回404错误 求排查方案

Spring Boot POST请求返回404问题排查

以下是常见的问题点及排查方向:

1. 控制器未被Spring识别或路径配置错误

  • 确认UserController类上是否添加了@RestController(或@Controller)注解,缺少该注解会导致Spring无法将其识别为请求处理控制器。
  • 检查类上的@RequestMapping或方法上的@PostMapping路径是否正确:
    • 例如类上标注@RequestMapping("/api/users")、方法上标注@PostMapping,则请求URL应为http://localhost:8080/api/users,需与Postman中的请求地址完全匹配(注意大小写、斜杠是否正确)。
    • 若方法上的@PostMapping指定了子路径,比如@PostMapping("/create"),则请求URL应为http://localhost:8080/api/users/create。

2. 包扫描范围不覆盖控制器/服务类

Spring Boot默认只会扫描主启动类(带@SpringBootApplication注解的类)所在包及其子包下的组件。

  • 检查主启动类的包路径:如果UserController、UserServiceImp等类的包不在主启动类的包或子包下,需要在主启动类上添加@ComponentScan指定扫描范围,例如:
    @SpringBootApplication
    @ComponentScan(basePackages = {"com.yourpackage.controller", "com.yourpackage.service", "com.yourpackage.repo"})
    public class YourApplication {
        public static void main(String[] args) {
            SpringApplication.run(YourApplication.class, args);
        }
    }
    

3. 请求参数配置错误(间接导致路径匹配失败)

  • 如果POST请求携带JSON格式的请求体,需确保控制器方法的参数上添加了@RequestBody注解,例如:
    @PostMapping
    public ResponseEntity<User> createUser(@RequestBody User user) {
        // 业务逻辑
    }
    
  • 检查Postman的请求头是否设置了Content-Type: application/json,未设置该头会导致Spring无法解析请求体,极端情况下可能导致请求无法匹配到对应方法,返回404。

4. 启动日志验证

查看应用启动日志,确认是否存在类似如下的日志条目:

Mapped "{[/api/users],methods=[POST]}"

如果没有该日志,说明控制器的请求映射未被Spring加载,需回到前面的包扫描、控制器注解问题排查;如果存在该日志,则问题出在Postman的请求配置(如请求方法错误、URL路径错误)。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 14:12:35