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
)。
''' @数据 @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
)。