我收到警告消息:
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")
时该问题已解决,而我本人实际上并不需要
答案 0 :(得分:1)
我们升级了Lombok版本,现在它还向生成的二传手添加了@JsonProperty("Balance")
此重复的@JsonProperty
在日志中创建了WARN,并且创建响应失败(无异常)
我删除了@JsonProperty("Balance")
,它在我的情况下实际上是多余的/不需要的,并且有效
private
并不能解决问题功能:龙目岛现在完全知道如何对待@ com.fasterxml.jackson.annotation.JsonProperty,并将其复制到正确的位置,例如在建造建筑商时。第1961期,第1981期