春季结构化DTO

时间:2018-09-17 15:42:03

标签: spring-boot entity dto

在Spring Rest API中构造我的DTO时遇到问题。我的许多DTO是从同一实体创建的,但它们包含不同的字段。例如:

@Data
public class CarInfoDto {
   private int year;
   private String name;
}

@Data
public class CarDetailedInfoDto {
   private int year;
   private String name;
   private String photoUrl;
   private String color;
}

它们都是从以下位置创建(使用MapStruct映射):

@Entity
@Data
    public class Car {
       private int id;
       private int year;
       private String name;
       private String photoUrl;
       private String color;
    }

到目前为止,继承似乎是处理此问题的最佳方法(DetailedInfoDto扩展了InfoDto)。但是e.i.如果我不想在我的DetailedInfoDto中显示所有InfoDto的字段,则需要创建单独的BaseInfoDto,以便InfoDto和DetailedInfo可以对其进行扩展。如果继承树变大,DTO将失去其可读性和可扩展性。为每个DTO设置单独的类对我没有吸引力。

0 个答案:

没有答案
相关问题