为什么要设计DTO类/什么时候设置DTO类?

为什么设计DTO类?

例如:根据新增员工接口设计对应的DTO

前端传递参数列表:

**思考:**是否可以使用对应的实体类来接收呢?

注意:前端提交的数据和实体类中对应的属性差别比较大, 所以自定义DTO类。

java 复制代码
package com.sky.dto;

import lombok.Data;

import java.io.Serializable;

@Data
public class EmployeeDTO implements Serializable {

    private Long id;

    private String username;

    private String name;

    private String phone;

    private String sex;

    private String idNumber;

}

总结目的就是:减少多余的参数,出于安全性、节约流量的考虑。

这里顺带提一嘴为什么要设计VO类:

VO类可以用于将从数据库表查询到的到数据封装起来:

因为查询数据库 时大多会用关联查询,而关联查询出来的结果集字段又会和实体类对象的属性不一致 ,所以用VO来封装查询结果集。
当查询到的数据太多,而前端又不需要全部数据,定义VO类用于只将前端需要的数据封装起来返回给前端,而其他不需要的就不用封装了。

相关推荐
llwszx1 分钟前
【Java/Go后端手撸原生Agent(第九篇):Plan-and-Execute规划模式——从“走一步看一步“到“先谋后动“】
java·python·golang·agent开发·plan模式·规划执行模式
ZJH__GO11 分钟前
网络编程v2--多客户端互通
java·运维·服务器·开发语言·计算机网络
霸道流氓气质23 分钟前
SpringBoot中基于 AES-GCM + KMS 密钥管理的数据加解密 Starter 实践
java·数据库·spring boot
Gofarlic_OMS35 分钟前
NX浮动许可调度黑名单机制,对比两款谁更合理
java·大数据·运维·开源·制造
乐观的Terry1 小时前
8、发布系统-完整流水线的核心
java·spring boot·spring·spring cloud
Alexalbb1 小时前
从角色过滤到可审计授权:单体系统数据权限设计复盘与演进
java
万亿少女的梦1681 小时前
基于Spring Boot的游戏交易管理系统设计与实现
java·spring boot·mysql·系统设计·交易管理
闲猫2 小时前
Agent工程实践:从WorkFlow到多Agent协作的落地笔记
java·服务器·前端
笨蛋不要掉眼泪2 小时前
Java虚拟机:常用参数
java·开发语言·python
亦暖筑序3 小时前
AgentScope-Java 入门:用 Middleware 审计 Agent 调用
java·ai编程·agentscope