假設我有一個“AtributeDTO”及其各自的“屬性”物體。(實際物件有很多欄位)。請注意,我們不想在物體中包含“朋友”欄位。
public class AttributesDTO {
private string name;
private TypeADTO details;
private List<TypeBDTO> friends;
}
public class Attributes {
private string name;
private TypeA details;
}
此外,TypeADTO 類
public class TypeADTO {
private List<TypeBDTO> friends;
}
我還創建了一個映射器“AttributeMapper”
public interface AttributeMapper {
AttributesDTO toAttributesDTO(
Attributes attributes);
Attributes toAttributes(
AttributesDTO attributesDTO);
}
現在,在使用“toAttributesDTO”方法將物體轉換為 DTO 時,我想使用同一 DTO 中“詳細資訊”中的“朋友”欄位更新 DTO 中的“朋友”。
我嘗試覆寫 DTO 中“詳細資訊”的設定器,但理想情況下,這不是正確的做法。我想知道是否有任何其他方法可以做到這一點而不必實作整個映射器。
uj5u.com熱心網友回復:
如果您將詳細資訊朋友串列存盤在朋友串列 dto 中,也許可以嘗試這樣做
friends.addAll(details.getFriends());
或者
friends.setFriends(details.getFriends());
或者如果您正在使用構建器,那么
public AttributesDto toAttributesDTO(Attributes attributes {
return AttributeDto.builder()
.name(attributes.getName())
.friends(attributes.getDetails().getFriends())
//or try which works
.friends(attributes.getDetails())
.build();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/515170.html
上一篇:我究竟需要在SpringBoot中實作自己以允許基于表單的身份驗證(使用SpringSecurity和MVC)?
