为什么要设计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类用于只将前端需要的数据封装起来返回给前端,而其他不需要的就不用封装了。

相关推荐
云-缩影8 分钟前
拆解 AI 图像生成应用的后端架构:ECS、OSS 和大模型 API 怎么配合
java·spring boot·后端
瑞克-桑切斯30 分钟前
7、MySQL 慢查询排查与优化实战指南
java·服务器·数据库
海的透彻5 小时前
dockerfile如何快速构建容器(java服务)
java·开发语言
code2cat5 小时前
Java工具篇之Gradle:用任务图组织构建与交付
java·开发语言·单元测试·gradle
后台模板学习6 小时前
大模型 Prompt 工程在电商订单系统中的踩坑记录
java·python·prompt
w_zero_one6 小时前
算法--构造
java·数据结构·算法
SL_staff6 小时前
制造业订单交付崩盘?用四层协同框架重建交付可信度(技术实践)
java·产品·全栈
SL_staff7 小时前
打破风控迭代死循环:用决策编排重构业务与技术协作链路
java·产品·全栈
Mikko77 小时前
Redis 连接数满了服务端有错误信息吗?连接数不增加却命令超时?6.2 实测连接池、超时与大 key 怎么判定
java·spring boot·redis·后端
.Bryce.8 小时前
从零到一开发技术名词大全:从需求分析到 AI Agent 工程
java·网络·人工智能·agent·需求分析·agent评测