从许多REST服务中使用单个DTO的建筑方法

问题描述 投票:0回答:1

在我的Spring RESTful服务中,我具有域对象Car,所有服务业务逻辑都使用它。这些对象是从CarDTO对象获得的,而这些对象又是使用RestTemplate从多个外部服务获得的。问题是

  1. 如果使用的结构不同,并且为每个外部服务创建单独的DTO,并由不同的转换器将它们映射为域对象,还是最好使用通用DTO和转换器,是否合理?
  2. 如果我以前的建议是错误的,那么从几个具有不同结构的api中消费域对象的有害实践是什么?

汽车域名对象:

public class Car {
private Company company;
private String model;
private Location location;
private Double fuel;
private Double price; 

// getters / setters
}
java spring api rest resttemplate
1个回答
0
投票

没有硬性规定应创建DTO。

您可以直接使用数据库对象(汽车),而不必在DTO之间。

据我了解,如果存在直接将字段映射到字段的所有内容,则无需DTO。

如果我们有从请求/响应执行的逻辑或转换,以将其转换为DB对象,则DTO非常适合用来使代码干净并在适配器和转换中保留业务逻辑。

© www.soinside.com 2019 - 2024. All rights reserved.