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

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.dtcms.com/a/199520.html

相关文章:

  • JESD204 ip核使用与例程分析(二)
  • Spring Boot 与 RabbitMQ 的深度集成实践(三)
  • MAC电脑中右键后复制和拷贝的区别
  • LabVIEW数据库使用说明
  • labview硬件开发板——LED流水灯
  • 在linux里上传本地项目到github中
  • NW860NW894美光闪存颗粒NX770NX789
  • 网络安全之大模型隐私攻击技术
  • 计算机视觉与深度学习 | EMD-KPCA-LSTM、EMD-LSTM、LSTM回归预测对比,多输入单输出(Matlab完整程序和数据)
  • QT6 源(111):阅读与注释菜单栏 QMenuBar,进行属性与成员函数测试,信号与槽函数测试,并给出源码
  • 华为ODgolang后端一面面经
  • 对话即编程:如何用 Trae 的 @智能体 5 分钟修复一个复杂 Bug?
  • Uniapp中动态控制scroll-view滚动的方式
  • 耗时十分钟,做了一个 uniapp 灵感泡泡机
  • Linux笔记---内核态与用户态
  • uniapp运行到微信开发者工具报错“更改appid失败touristappidError:tourist appid”
  • Python对JSON数据操作
  • vscode怎么关闭自动定位文件
  • 计算机底层的多级缓存以及缓存带来的数据覆盖问题
  • 包装类(1)
  • 一文详解红黑树
  • 基于口令凭据的横向移动:技术解析与实战
  • 轻量级离线版二维码工具的技术分析与开发指南
  • 初识 Redis
  • 力扣每日一题5-18
  • Cursor 模型深度分析:区别、优缺点及适用场景
  • 电子电路:什么是偏置电路?
  • Baklib知识中台架构设计与智能服务实践
  • wpf DataGrid 行选择事件
  • Redis 学习笔记 5:分布式锁