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 支持 null
    private 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)或前端传递的数据格式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值