簡體   English   中英

Dto - 實體映射最佳實踐

[英]Dto - Entity mapping best practice

我最近一直在閱讀有關 DTO 模式的一些信息。 我理解它的目的; 隔離內部結構並為客戶創建合同。 但是,我一直在思考如何有效地將它們 map 轉換為實體。

所以,假設我有 2 個 Dto; CreatePostDto 和 ReadPostDto 可能在多個字段中有所不同。 現在,我想將它們 map 到 PostEntity,這可以使用 modelmapper、mapstruct 等技術來完成。但是,將它們映射到服務層對我來說似乎不是很吸引人,因為代碼往往會變得混亂。

一種方法是創建通用映射器抽象 class 並為特定 dto 提供實現。 盡管如此,我對這種方法持懷疑態度,因為我可能有許多 dto,即許多 postDto,這會導致許多映射器類。

有一個更好的方法嗎?

正如您所提到的,如果您使用 Mapstruct,您可以為每個實體構建一個映射器 class。 Mapstruct 將為您實現樣板代碼,您可以將所有相關映射分組。 例如:

    public interface PostMapper {
    
        public PostEntity createPostDtoToPostEntity(CreatePostDto dto);
        
        public PostEntity readPostDtoToPostEntity(ReadPostDto dto);

    }

即使您的 Post DTO 不斷增長,您仍然可以在此映射器 class 中對它們進行分組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM