我收到一条警告消息:
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
I found 类似问题 https://github.com/FasterXML/jackson-databind/issues/1122但它应该在 2.7.4 中修复(已关闭)
Jackson 2.7.1 和 Lombok:“冲突/不明确的属性名称定义”#1122
我认为这毕竟可以更改为 2.7.4,可以解决这个问题。
Code:
@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;
是否有相关警告?我怎样才能修复/删除这个警告?
似乎添加了新的 Lombok 版本 @JsonProperty("Balance")
也生成设置器并造成这种混乱
EDIT
删除后问题已解决@JsonProperty("Balance")
这对我来说实际上是不需要的
我们升级了 Lombok 版本,现在添加了@JsonProperty("Balance")
也生成设置器
这个重复的@JsonProperty
在日志中创建了一个警告,并且创建响应也失败(无一例外)
我删除了@JsonProperty("Balance")
在我的情况下,这实际上是多余的/不需要的,而且它有效
龙目岛变化 https://projectlombok.org/changelog:
功能:Lombok 现在确切地知道如何处理 @com.fasterxml.jackson.annotation.JsonProperty 并将其复制到正确的位置,例如在创建构建器时。问题#1961 问题#1981
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)