龙目岛和杰克逊-冲突/歧义的属性名称定义

我收到警告消息:

com.fasterxml.jackson.databind.JsonmappingException: Conflicting/ambiguous property name definitions (implicit name 'balance'): found multiple explicit names: [{}Balance,Balance],but also implicit accessor: [method ResponseVO#getBalance(0 params)][visible=true,ignore=false,explicitName=false] 

我有最新的lombok 1.18.10和fastxml.jackson-version 2.7.5

我找到了similar issue,但它应该已经在2.7.4(已关闭)中修复了

  

Jackson 2.7.1和Lombok:“冲突的/含糊的属性名称定义”#1122

     

我认为这毕竟可以更改为2.7.4,可以解决此问题。

代码:

@Data
@AllArgsConstructor(access = accessLevel.PUBLIC)
@NoArgsConstructor
public class ResponseVO implements Serializable {

    private static final long serialVersionUID = 1;
    @JacksonXmlProperty(localName = "Balance")
    @JsonProperty("Balance")
    @JacksonXmlElementWrapper(useWrapping = false)
    List<BalanceResponseVO> balance;

是否有相关警告?如何修复/删除此警告?

似乎新的龙目岛版本也向生成的二传手添加了@JsonProperty("Balance")并造成了这种困惑

编辑

在我删除@JsonProperty("Balance")时该问题已解决,而我本人实际上并不需要

lisagaga111 回答:龙目岛和杰克逊-冲突/歧义的属性名称定义

我们升级了Lombok版本,现在它还向生成的二传手添加了@JsonProperty("Balance")

此重复的@JsonProperty在日志中创建了WARN,并且创建响应失败(无异常)

我删除了@JsonProperty("Balance"),它在我的情况下实际上是多余的/不需要的,并且有效

  • 将注释更改为private并不能解决问题

Lombok change

  

功能:龙目岛现在完全知道如何对待@ com.fasterxml.jackson.annotation.JsonProperty,并将其复制到正确的位置,例如在建造建筑商时。第1961期,第1981期

本文链接:https://www.f2er.com/3168417.html

大家都在问