Mapstruct 未映射 'addLine1' 字段

Mapstruct not mapped 'addLine1' field

''' @数据 @Builder(toBuilder = true) @AllArgsConstructor @NoArgsConstructor public class 服务地址 { 私有字符串 addLine1; 私有字符串 addLine2; 私有字符串城市; 私有字符串状态; 私人字符串国家; 私人字符串邮编; 私有字符串 zipCodeExtension; }

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@Builder(toBuilder = true)
@NoArgsConstructor
@AllArgsConstructor
public class OrderDTO {
private List<OrderElement> orderElement;

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@Builder(toBuilder = true)
@NoArgsConstructor
@AllArgsConstructor
public static class OrderElement {

@Override
public boolean equals(Object o) {
return o == this;
}

private ServiceAddress serviceAddress;

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@Builder(toBuilder = true)
@NoArgsConstructor
@AllArgsConstructor
public static class ServiceAddress {
private String addLine1;
private String addLine2;
private String city;
private String state;
private String country;
private String zip;
}
}
}

@Mapper(componentModel = "spring")
public interface test {
ServiceAddress toServiceAddress(OrderDTO.OrderElement.ServiceAddress serviceAddress);
}

@Override
public lib.dao.dto.externalconnector.onebill.ServiceAddress toServiceAddress(ServiceAddress serviceAddress) {
if ( serviceAddress == null ) 
return null;
}

ServiceAddressBuilder serviceAddress1 = lib.dao.dto.externalconnector.onebill.ServiceAddress.builder();

serviceAddress1.city( serviceAddress.getCity() );
serviceAddress1.state( serviceAddress.getState() );
serviceAddress1.country( serviceAddress.getCountry() );
serviceAddress1.zip( serviceAddress.getZip() );

return serviceAddress1.build();
}

'''

addLine1这样的属性没有映射的原因是因为它被当作列表属性line1的加法器。

您可以命名 setter setAddLine1 或禁用构建器支持(MapStruct 将使用 DTO 中的 setAddLine1)。