当前位置: 首页 > article >正文

Java POJO接收前端null值设置

在 Java 中,若要让 price 字段接收前端传递的 null 值,只需确保以下几点:

1. 使用包装类型 Double

你的 price 字段已经是包装类型 Double(而不是基本类型 double),这天然支持 null 值。基本类型 double 无法存储 null,但包装类型可以。

java

复制

下载

private Double price; // ✅ 正确,支持 null
// private double price; ❌ 错误,基本类型无法存储 null

2. 移除非空校验注解

如果字段上有 @NotNull 等非空校验注解(如 Jakarta Bean Validation 或 Hibernate Validator),需移除它们,否则框架会拒绝 null 值:

java

复制

下载

// ❌ 移除类似这样的注解
// @NotNull
private Double price;

3. 确保反序列化配置正确

若使用 Jackson 反序列化 JSON 数据,默认支持将 null 映射到包装类型字段。无需额外配置,但需确保没有以下行为:

  • 前端传递的 JSON 中 price 字段的值是 null 或字段不存在。

  • 没有自定义反序列化逻辑(如 setter 方法)覆盖 null 值。


验证示例

假设前端传递的 JSON 如下:

json

复制

下载

{"price": null,"valid": true
}

或 price 字段不存在:

json

复制

下载

{"valid": true
}

后端 MaterialInfo 对象中的 price 字段都会自动被赋值为 null


完整代码

java

复制

下载

public class MaterialInfo {// ✅ 包装类型 Double 支持 nullprivate Double price;private Boolean valid;// Getter 和 Setter(或 Lombok 注解)public Double getPrice() { return price; }public void setPrice(Double price) { this.price = price; }public Boolean getValid() { return valid; }public void setValid(Boolean valid) { this.valid = valid; }
}

通过以上步骤,price 字段即可正常接收前端的 null 值。如果仍有问题,请检查序列化/反序列化框架的配置(如 Jackson、Gson)或前端传递的数据格式。

http://www.lryc.cn/news/2380073.html

相关文章:

  • 详细总结和讲解redis的基本命令
  • Linux 内核等待机制详解:prepare_to_wait_exclusive 与 TASK_INTERRUPTIBLE
  • 蓝桥杯2300 质数拆分
  • 软件架构风格系列(2):面向对象架构
  • ngx_http_random_index_module 模块概述
  • go-zero(十八)结合Elasticsearch实现高效数据检索
  • AM32电调学习解读九:ESC上电启动关闭全流程波形分析
  • 怎么打包发布到npm?——从零到一的详细指南
  • NX二次开发C#---遍历当前工作部件实体并设置颜色
  • 如何用体育数据做分析:从基础统计到AI驱动的决策科学
  • 09、底层注解-@Import导入组件
  • 【notes】VScode 使用总结
  • 【论文阅读】KIMI K1.5: SCALING REINFORCEMENT LEARNING WITH LLMS
  • 云服务器开发软件操作步骤
  • Qwen3 - 0.6B与Bert文本分类实验:深度见解与性能剖析
  • 4.6 sys模块
  • UWB定位方案在水力发电站人员安全的应用推荐
  • 青少年编程与数学 02-019 Rust 编程基础 16课题、包、单元包及模块
  • bat 批处理获取日期、时间
  • 手写tomcat:基本功能实现(3)
  • Spring Cloud Seata 快速入门及生产实战指南
  • 电商平台自动化
  • Java微服务架构实战:Spring Boot与Spring Cloud的完美结合
  • 王树森推荐系统公开课 召回11:地理位置召回、作者召回、缓存召回
  • 无刷直流水泵构成及工作原理详解--【其利天下技术】
  • less中使用 @supports
  • 大数据:新能源汽车宇宙的未来曲率引擎
  • 【Java ee】关于抓包软件Fiddler Classic的安装与使用
  • 第五部分:第五节 - Express 路由与中间件进阶:厨房的分工与异常处理
  • 在 CentOS 7.9 上部署 node_exporter 并接入 Prometheus + Grafana 实现主机监控