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

Spring Boot+MongoDB项目Postman请求404错误求助

排查Spring Boot + MongoDB接口404错误的原因

1. 上下文路径不匹配

你请求的URL包含/mdb-spring-boot-product-organizer/前缀,但Spring Boot默认没有上下文路径,除非你在配置文件中专门设置了server.servlet.context-path=/mdb-spring-boot-product-organizer。

如果没配置该参数,正确的请求URL应为:
http://localhost:8080/api/addProduct

若确实需要这个上下文路径,需在application.properties或application.yml中添加配置:

# application.properties
server.servlet.context-path=/mdb-spring-boot-product-organizer

2. 请求方法不匹配

addProduct接口用@PostMapping注解,仅接收POST请求。如果Postman中误用了GET、PUT等其他方法,会直接返回404。请确认请求方法选择POST,且Body中传入符合Product结构的JSON数据。

3. 确认Controller包扫描有效性

主类MdbSpringBootApplication位于根包com.example.mdbspringbootproductorganizer,@SpringBootApplication默认会扫描该包及其所有子包,但可以额外核对:

  • Controller类上的@RestController和@RequestMapping("/api")拼写无误,无大小写错误
  • 启动日志中是否出现接口映射注册信息,比如:
    Mapping "{[/api/addProduct],methods=[POST]}" onto public java.lang.String com.example.mdbspringbootproductorganizer.controller.ProductController.saveProduct(com.example.mdbspringbootproductorganizer.model.Product)
    
    若没有这类日志,说明Controller未被Spring正确扫描注册,需检查包结构或注解配置。

4. 潜在反序列化问题(非404直接原因,但需提前修复)

你的Product类仅提供了带参构造函数,Spring MVC反序列化@RequestBody的JSON时需要无参构造函数。这不会导致404,但会在接口匹配成功后返回400错误,建议立即添加:

public Product() {
    // 无参构造函数
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 07:20:13