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

通过Postman向MongoDB提交数据失败:返回200但无数据存入

Spring Boot 向 MongoDB 存数据返回200但数据未入库的排查与解决

核心问题与修复方案

1. 实体类缺失主键标识(关键原因)

MongoDB 文档必须具备唯一主键_id,你的Blog实体未添加@Id注解,导致Spring Data MongoDB无法生成或识别文档主键,最终数据无法持久化到数据库。

同时实体类存在冗余代码:

  • @Data注解已包含@Getter、@Setter功能,无需重复添加
  • 重复导入@Id、@Document包,属于无效代码

修改后的Blog实体类:

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

@Data
@Document(collection = "blogs") // 可显式指定集合名,不指定则默认用类名小写
@AllArgsConstructor
@NoArgsConstructor
public class Blog {
    @Id // 必须添加,对应MongoDB的_id字段
    private String id; // 也可使用ObjectId类型,Spring会自动处理主键生成

    private String title;
    private String body;
}

2. 检查MongoDB连接配置

确认application.properties/application.yml中的连接配置是否正确,本地MongoDB示例配置:

# application.properties
spring.data.mongodb.uri=mongodb://localhost:27017/your_database_name
# 或分参数配置
spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
spring.data.mongodb.database=your_database_name

若使用远程MongoDB服务(如Atlas),需确认连接串的用户名、密码、集群地址是否正确,同时检查网络连通性。

3. 验证业务逻辑执行情况

可在BlogService中添加日志,确认保存操作是否正常执行:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;

@Service
public class BlogService {
    private static final Logger logger = LoggerFactory.getLogger(BlogService.class);

    @Autowired
    private BlogRepository blogRepository;

    public Blog create(Blog blog) {
        logger.info("待保存博客内容: {}", blog);
        Blog savedBlog = blogRepository.save(blog);
        logger.info("保存后博客数据(含主键): {}", savedBlog);
        return savedBlog;
    }

    // 其他方法保持不变...
}

通过日志可确认是否生成了主键id,以及保存操作的执行状态。

4. 接口测试注意事项

调用/add接口时,确保请求体JSON格式正确,无需手动传入id(Spring会自动生成):

{
    "title": "测试博客标题",
    "body": "测试博客内容"
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 11:41:13