【微服务】DTO与DMO

阅读: 评论:0

【微服务】DTO与DMO

【微服务】DTO与DMO

DTO

Data Transfer Object(数据传输对象):用于在网络上进行通讯的对象。在API接口输入输出的地方经常需要使用DTO。

DMO

Data Model Object(数据模型对象):用于表达业务的应用模型,一般是一些需要持久化的对象。在数据访问层,经常要使用到DMO。
有不同的称呼,有的叫实体对象(Entity Object)、领域对象(Domain Object)

DTO与DMO

DTO与DMO虽然叫法不同,但在大多数情况下所承载的数据字段是相同的。
DTO有时候会根据实际情况,裁剪或添加部分字段。

DTO与DMO相互转换

使用modelmapper进行他们之间的互相转换。

引入依赖

<dependency><groupId&delmapper</groupId><artifactId>modelmapper</artifactId><version>2.3.3</version>
</dependency>

配置

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

使用样例

创建一个DTO

@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
public class AccountDto {@NotBlankprivate String id;private String name;@Email(message = "Invalid email")private String email;@PhoneNumberprivate String phoneNumber;
}

创建一个DMO

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Account {private String id;private String name;private String email;private String phoneNumber;
}

创建一个测试接口

@Slf4j
@RestController
@RequiredArgsConstructor
public class ParamVerifyController {private final ModelMapper modelMapper;@PostMapping("customParamVerify")@ResponseBodypublic String customParamVerify(@RequestBody @Valid AccountDto accountDto){Account account = delMapper.map(accountDto, Account.class);log.info("Account {}",account);return "ok";}
}

本文发布于:2024-02-02 18:36:52,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170687028445681.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:DTO   DMO
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23