我有一个这样的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"
}
im搜索如何获取杰克逊null与未定义字段,发现在setter方法中会有所不同。
现在我需要DTO的自定义设置器来获取null和未定义的json字段。 谢谢
答案 0 :(得分:0)
Lombok没有生成“ isChanged”样式字段的选项。您必须将其写成长格式。
我不明白您为什么需要它;如果JSON输入具有一个null
值,那么它也将在Java端也以null
结束,这就是您所知道的。
答案 1 :(得分:0)
您可以将属性初始化为null
之外的其他值:
@Setter @Getter
public class UserDTO {
private String firstName = "empty";
private String lastName = "empty";
}
您可以选择一个不太可能作为输入接收的值。那么您将知道该属性是否在反序列化期间设置。