这是类(class)
package com.bablo.domain;
import com.google.gson.annotation.SerializedName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Getter @Setter
@ToString
public class PC {
@SerializeName("name")
private String name;
@SerializeName("model")
private String model;
@SerializeName("processor")
private String processor;
}
上面模型的类属性在json中可以有一个空字符串,如何在序列化和反序列化时给它默认值。
即在 requestbody json 中,模型键的值可以将空字符串作为值,如何读取它并将默认值放在类属性中空字符串的位置。
我应该禁用 lombok 并在我的类中添加自定义 getter 和 setter 方法来覆盖默认值吗?
或者Gson中有没有可用的注释来实现这一点?
或者lombok有一些解决方法来实现这一点?
最佳答案
这里可能需要使用 lombok Builder 注释。像这样的事情:
@Getter @Setter
@ToString
class PC {
@SerializedName("name")
@Builder.Default
private String name = "name1";
@SerializedName("model")
@Builder.Default
private String model = "model1";
@SerializedName("processor")
@Builder.Default
private String processor = "processor1";
}
关于java - 当我使用 lombok 时,如何向 Gson 序列化/反序列化中具有空字符串值的传入变量添加默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55468345/