我得到这个类的错误,而重新定义数据,任何输入我在这里做错了什么。没有创建者,像默认构造函数,存在,无法从对象值重新定义(没有委托或基于属性的创建者)
@Getter
@Builder(builderClassName = "Builder")
@JsonIgnoreProperties(ignoreUnknown = true)
public class Test
{
public Test(String service, String user) {
this.service = service;
this.user = user;
}
private static final long serialVersionUID = 1L;
@JsonProperty("service")
private String service;
@JsonProperty("user")
private String user;
@SuppressWarnings("java:S2094")
public static class Builder
{
}
}
字符串
3条答案
按热度按时间tag5nh1u1#
可能不会帮助这个确切的情况下,但因为这是顶部的搜索结果,我会添加这一点的情况下,它是有帮助的人:
原来接口可以使事情复杂化,并导致这个Jackson错误。
oxosxuxt2#
你有两种不同的做法:
1.使用
@Builder
而不是@Builder(builderClassName = "Builder")
。Lombok将自动创建构建器名称。1.在类级别上添加
@NoArgsConstructor
和@Setter
注解。qgelzfjb3#
将
@Jacksonized
Lombok注解添加到您的类中使其对我有效:字符串
根据Lombok文件:
@Jacksonized
annotation是@Builder
和@SuperBuilder
的附加annotation。它会自动配置生成的builder类,以供Jackson的示例化使用。只有在存在@Builder
或@SuperBuilder
的上下文中才有效;否则会发出警告。如果没有
@Jacksonized
,你必须自定义你的构建器类。使用@Jacksonized
,你可以简单地写这样的东西让Jackson使用生成的构建器:型