我有这样的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字段发送到杰克逊像这样:
{
"firstName":null,
"lastname":"someName"
}
不同于:
{
"lastName" : "someName"
}
我正在搜索如何获得jackson null vs未定义的字段,并且发现可以在setter方法中获得不同。
现在我需要为我的DTO定制setter来获取null和未定义的json字段。谢谢
Lombok没有生成'isChanged'风格字段的选项。你必须把它写成长篇。
我不明白为什么你需要它;如果JSON输入有一个null
值,那么,它最终将作为null
在java方面结束,这就是你怎么知道的。
您可以将属性初始化为null
以外的其他内容:
@Setter @Getter
public class UserDTO {
private String firstName = "empty";
private String lastName = "empty";
}
您可以选择不太可能作为输入接收的值。然后你会知道在反序列化过程中是否设置了属性。