El problema de que la anotación @Data en Lombok no es válida en la clase interna

En el proceso habitual de escribir código, si el VO devuelto al front-end tiene situaciones de uno a muchos, generalmente uso la clase interna para implementarlo, porque este tipo de VO generalmente solo se usa una vez, y crear una clase es no es tan conveniente como la clase interna, pero en Once cuando estaba depurando la interfaz, descubrí que los campos en una clase interna no coincidían. Más tarde, vi que el nombre del campo en la clase era uHeight, pero cuando volví a la parte delantera, se convirtió en uheight, y la H mayúscula se convirtió en una h minúscula. No es de extrañar que no coincida.
Lo siguiente es cómo lo escribí en ese momento, lo que provocó el problema del campo.

@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;

    }
}

Finalmente, resolví este problema generando manualmente métodos get y set, y anoté la anotación @Data en la clase interna.

Supongo que te gusta

Origin blog.csdn.net/TangBoBoa/article/details/129716153
Recomendado
Clasificación