首页 > 解决方案 > 生成自定义设置器 lombok 或 intelliJ

问题描述

我有一个像这样的 Dto 类:

@Setter @Getter
public class UserDTO {

    private String firstName;

    private String lastName;

}

当没有字段发送给杰克逊时,我在某处读到,我们可以像这样得到改变:

public boolean isModifiedFirstName = false;

public void setFirstName(String firstName) {
    this.isModifiedFirstName = true;
    this.firstName = firstName;
}

如何使用 lombok 生成这样的代码?甚至 intelliJ 模板不生成 isModified 布尔字段

对于我的问题,如何将 json 字段发送给 jackson,如下所示:

{
"firstName":null,
"lastname":"someName"
}

不同:

{
"lastName" : "someName"
}

我正在搜索如何获取 jackson null 与未定义字段,发现在 setter 方法中可能会有所不同。

现在我需要为我的 DTO 自定义设置器来获取 null 与未定义的 json 字段。谢谢

标签: intellij-ideajacksonlombok

解决方案


Lombok 没有生成“isChanged”样式字段的选项。你必须把它写成长篇。

我不明白你为什么在这里需要它;如果 JSON 输入有一个null值,那么它也会最终出现在 java 端null,这就是你知道的。


推荐阅读