Lombok中的@Data注解在内部类中失效的问题

在平常写代码的过程中如果返回给前端的VO有一对多的情况下我一般会使用内部类来实现,因为这种VO一般只用一次,创建一个类还不如内部类来的方便,但是在有一次接口调试时我发现一个内部类中的字段怎么都对不上,后来一看是在类中字段名为uHeight,但是返回到前端时成uheight了,大写的H变成了小写的h,难怪对不上。
下面是我当时的写法,导致了字段的问题。

@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class RackVO {
    // 机房名
    private String roomName;
    // 机柜名
    private String rackName;
    // 品牌名
    private String brandName;
    // 总U数
    private Integer allCount;
    // 已用U数
    private Integer useUCount;
    // 资产数量
    private Integer assetCount;
    // 报警数量
    private Integer alarmCount;
    // 设备信息集合
    private List<Devices> devices;

    @Data
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public static class Devices {
        // 资产id
        private String assetId;
        private String id;
        // 资产名
        private String assetName;
        // 资产编号
        private String assetNo;
        // 父设备id
        private String assetPid;
        // 品牌id
        private String brandId;
        // 品牌名
        private String brandName;
        // 资产图片地址
        private String imgPath;
        // 型号id
        private String modelId;
        // 型号名
        private String modelName;
        // 机柜id
        private String rackId;
        // rfidNo
        private String rfidNo;
        // 型号名
        private String roomId;
        // 设备序列号
        private String serialNo;
        // 起始U
        private String startU;
        // 类别id
        private String typeId;
        // 设备U高
        private String uHeight;
        // 设备已用U
        private Integer deviceUseU;
        // 设备投入使用时间
        private String useTime;
        // 管理部门
        private String deptName;
        // 管理负责人
        private String userName;

    }
}

最后我通过使用手动生成get,set方法来解决这个问题,并注掉了内部类上面的@Data注解。

猜你喜欢

转载自blog.csdn.net/TangBoBoa/article/details/129716153