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

SpringBoot项目Postman请求404排查求助(应用正常运行)

排查SpringBoot接口404(/user/signup)问题的步骤

1. 核对控制器路径配置

检查你的UserController类注解是否正确:

  • 类上必须标注@RestController(或@Controller,但接口返回JSON用前者更合适)
  • 类上的@RequestMapping("/user")是否存在,若缺失则接口根路径不是/user,此时正确请求路径应为/signup而非/user/signup
  • 方法上的请求路径注解(如@PostMapping("/signup"))是否多写/漏写斜杠,例如@PostMapping("signup")(无开头斜杠)不影响,但需保证请求URL对应

错误示例(会导致404):

@RestController
// 缺少@RequestMapping("/user")
public class UserController {
    @PostMapping("/signup")
    public ResponseEntity<String> signup() {
        return ResponseEntity.ok("注册成功");
    }
}

正确示例:

@RestController
@RequestMapping("/user")
public class UserController {
    @PostMapping("/signup")
    public ResponseEntity<String> signup(@RequestBody User user) {
        // 业务逻辑
        return ResponseEntity.ok("注册成功");
    }
}

2. 匹配请求方式

确认Postman使用的请求方法(POST/GET)与控制器方法的注解完全一致:

  • 若控制器用@PostMapping("/signup"),Postman必须发POST请求,用GET请求会直接返回404
  • 同理,若方法用@GetMapping,则不能用POST请求

3. 检查Spring包扫描范围

确保UserController所在的包,是SpringBoot启动类的同包或子包:

  • 例如启动类在com.example.myproject,控制器需在com.example.myproject.controller或其子包下
  • 若控制器在外部包,需在启动类上添加@ComponentScan(basePackages = {"com.example.controller"})指定扫描范围

4. 核对上下文路径配置

查看application.properties/application.yml中是否配置了server.servlet.context-path:

  • 若配置了server.servlet.context-path=/api,则实际请求URL应为http://localhost:8081/api/user/signup,而非原路径

5. 查看启动日志验证接口注册

启动项目时,查看控制台日志是否存在类似如下内容:

Mapped "{[/user/signup],methods=[POST]}" onto public org.springframework.http.ResponseEntity<java.lang.String> com.example.myproject.controller.UserController.signup(...)
  • 若没有该日志,说明接口未被Spring识别,需回到前面的步骤排查注解或包扫描问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 08:52:05