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

Spring Boot + Angular 5表单提交http.post后数据库存入null值问题

问题分析与解决方案

我仔细看了你的代码和问题描述,前端能生成正确的JSON但后端存null、查询删除正常,核心问题出在后端请求体的接收逻辑上。

关键问题点

你的ArticleController里的createArticle方法没有添加@RequestBody注解,Spring无法自动将前端发送的JSON请求体映射到Article实体对象中,导致所有字段默认是null值。

原代码片段:

@PostMapping
public Article createArticle(Article art) {
    return article.create(art);
}

修复方案

给方法参数加上@RequestBody注解,让Spring自动解析请求体的JSON数据到实体类:

@PostMapping
public Article createArticle(@RequestBody Article art) {
    return article.create(art);
}

额外验证项(可选)

  1. 确认Lombok注解生效:你的实体类用了@Getter@Setter,确保项目已正确引入Lombok依赖,且IDE开启了Lombok支持(避免Spring无法访问实体字段)。
  2. 请求头检查:前端服务已设置Content-Type: application/json,这是正确的,确保请求头没有被拦截或篡改。
  3. 路由冲突规避:你同时使用了自定义ArticleController和@RepositoryRestResource,当前查询正常但后续可能出现路由冲突,可给@RepositoryRestResource设置path属性(比如@RepositoryRestResource(path = "articles")),和自定义Controller的/api路由区分开。

完成修复后再测试表单提交,应该就能正常将数据存入MySQL数据库了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:13:59