Data Transfer Object(数据传输对象):用于在网络上进行通讯的对象。在API接口输入输出的地方经常需要使用DTO。
Data Model Object(数据模型对象):用于表达业务的应用模型,一般是一些需要持久化的对象。在数据访问层,经常要使用到DMO。
有不同的称呼,有的叫实体对象(Entity Object)、领域对象(Domain Object)
DTO与DMO虽然叫法不同,但在大多数情况下所承载的数据字段是相同的。
DTO有时候会根据实际情况,裁剪或添加部分字段。
使用modelmapper进行他们之间的互相转换。
<dependency><groupId&delmapper</groupId><artifactId>modelmapper</artifactId><version>2.3.3</version>
</dependency>
@Bean
public ModelMapper modelMapper(){return new ModelMapper();
}
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
public class AccountDto {@NotBlankprivate String id;private String name;@Email(message = "Invalid email")private String email;@PhoneNumberprivate String phoneNumber;
}
@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小时内删除。
留言与评论(共有 0 条评论) |