【发布时间】:2020-10-21 19:12:44
【问题描述】:
有没有办法为带有@Value 注释的模型下的字段提供默认值。
例如:
@Value
class Book {
String title;
List<String> authors;
}
在上述模型中,Jackson 将作者从 json 有效负载反序列化为 null,作者为 null,但我希望作者将 [] 作为默认值,而不是 null。
我知道下面不起作用,因为由于@Value,字段变为private final
List<String> authors = Collections.emptyList();
我可以覆盖 all args 构造函数,但模型本身非常大,所以我正在寻找类似于 Builder.Default 但对于 @Value 的东西。
【问题讨论】:
-
你不想要
@Builder的原因是什么? -
@Builder和@Singular很好。我一直在寻找一个班轮解决方案,因为只有一个这样的字段是列表。我必须使用的模型非常大,有很多级别的嵌套类,因为很多测试都是使用模型和他们的孩子的 allargsconstructor 编写的,修改为 builder 是相当痛苦的