java - 转换模型的最佳方法
问题描述
我的 Web 应用程序有控制器层,它应该从外部服务运行一些操作并发送 ExternalServiceDTO。我的控制器层与 ControllerDTO 一起使用。我有 ControllerDTO 的域模型 - 它是带有域服务 DomainModelService 的 DomainModel。
转换模型的最佳方法是什么?我看到 2 个选项
ControllerDTO -> DomainModel -> ExternalServiceDTO 这样我们首先转换为域模型,然后再准备外部 dto。外部 dto 将从 DomainModelService 创建。
ControllerDTO -> ExternalServiceDTO 这样,我们只是从控制器 dto 准备外部 dto
请指教
解决方案
您可以使用库模型映射器。
<dependency>
<groupId>org.modelmapper</groupId>
<artifactId>modelmapper</artifactId>
<version>2.3.4</version>
</dependency>
要将 DTO 转换为实体,您可以使用以下命令:
private Entity toEntity(DTO dto) throws ParseException {
Entity entity = modelMapper.map(dto, Entity.class);
return entity;
}
在您的控制器上,您应该通过以下方式注入 Mapper:
@Autowired
private ModelMapper modelMapper;
推荐阅读
- python - 这种多层感知器反向传播实现有什么问题?
- android - 如何在kotlin android中使用带有背景按钮的If?
- ios - 更改部署目标后出现错误
- r - 如何从 R 中的非平稳广义帕累托(GP)模型中提取参数?
- azure-web-app-service - 我的 Azure Web 应用程序报告了与内存相关的自动修复。Proactive Auto Heal 如何知道何时重新启动我的 Web 应用程序?
- python - ckeditor_uploader 动态图片上传路径
- python - TypeError 与功能,但工作正常,否则
- haskell - 为什么这个 Functor 的实例化不起作用?
- python - 用jinja2或python中的正则表达式替换字符串中的相同字符序列
- r - ggplot2:数字 x 轴上的自定义分类标签