DTO组件是个组件族。前端和Controller层的交互是通过DTO传递数据,同样Controller层和Service层传递参数也是DTO。DTO族按业务分为序列组件,例如
<groupId>org.qlm</groupId>
<artifactId>qlm-dto-auth</artifactId>
<version>1.0-SNAPSHOT</version>
这是有关权限、用户的传输标准,代码如下:
@Data
@NoArgsConstructor
@Schema(name="UserDto",description="用户信息")
public class UserDto{
@Schema(name="userId",description="用户ID")
private String userId;
@Schema(name="loginName",description="登录账号")
private String loginName;
@Schema(name="userName",description="姓名")
private String userName;
@Schema(name="loginip",description="登录ip")
private String loginip;
@Schema(name="logintime",description="登录时间")
private String logintime;
@Schema(name="loginsystem",description="登录系统")
private String loginsystem;
@Schema(name="passWord",description="密码")
private String passWord;
@Schema(name="nickName",description="昵称")
private String nickName;
…
}
又如qlm-dto-job 有关作业的传输结构。
实现上这部分也完全可以定义为行业标准,这样数据交换将会大统一。可惜只是个理想而已,搞统一太难了。