首页 > 解决方案 > java - 如何从Java中的现有DTO创建一个lite DTO?

问题描述

我有一个 dto,比如说MyDto里面有 10 个字段。我想创建一个只有 3 个字段的 dto 的精简版本。我试过这个:创建一个新对象并将所需字段从旧对象复制到新对象,并将其他字段设置为空。我不喜欢只用 3 个字段制作一个新的 light dto。我可以在这里遵循哪些方法?

标签: java

解决方案


我有同样的问题。就我而言,我以这种方式使用了 ModelMapper。在需要映射的类中:

@Autowired private ModelMapper modelMapper;

...

public LiteDTO convertToLiteDTO() {
  MyDTO myDTO = new MyDTO();
  return modelMapper.map(myDTO, LiteDTO.class);
}

并且,要在应用程序中配置 ModelMapper:

// MyBEConfig.java
import org.modelmapper.ModelMapper;
import org.springframework.context.annotation.Bean;

...

@Bean
public ModelMapper modelMapper() {
  return new ModelMapper();
}

使用 Maven 安装 ModelMapper:

    <dependency>
        <groupId>org.modelmapper</groupId>
        <artifactId>modelmapper</artifactId>
        <version>2.3.2</version>
    </dependency>

您一定需要另一个“精简版”版本的 DTO。我认为你不能这样做。


推荐阅读