详解前后端交互时PO,DTO,VO模型类的应用场景

前后端交互时的数据传输模型

前后端交互流程

前后端交互的流程: 前端与后端开发人员之间主要依据接口进行开发

  • 前端通过Http协议请求后端服务提供的接口
  • 后端服务的控制层Controller接收前端的请求
  • Contorller层调用Service层进行业务处理
  • Service层调用Dao持久层对数据持久化

PO,DTO,VO模型类

DTO(Data Transfer Object)数据传输对象: 用于接口层向业务层之间相互传输数据

PO(Persistent Object)持久化对象: 用于业务层与持久层之间相互传输数据,一个PO类对应数据库中的一张表,每张表对应一个Mapper接口和Mapper的xml映射文件

VO对象: 前端与接口层之间相互传输数据,当用户使用手机端和PC端查询课程信息时查询条件和查询结果可能不同

  • 手机查询: 根据课程状态查询,查询结果只有课程名称和课程状态
  • PC查询: 可以根据课程名称、课程状态、课程审核状态等条件查询,查询结果也比手机查询结果内容多
  • 如果前端接口没有多样性且比较固定,此时可以取消VO只用DTO即可

Service业务层尽量提供一个业务接口,即使两个前端接口接收的数据和响应的数据不一样

  • 查询条件不同: 此时可以设置多个VO对象
  • 查询结果不同: Service只负责提供一个最全的查询结果,由Controller层进行数据整合
相关推荐
dr李四维12 天前
PO、VO、DAO、BO、DTO、POJO 你能分清吗?
java·po·dao·dto·vo·pojo·bo
总爱写点小BUG1 个月前
DTO和VO的区别及使用场景详解
状态模式·dto·vo
丁总学Java9 个月前
JDBC(数据库连接池,封装JDBCUtil,Apache的DBUtils,DTO,JDBC工具类事务问题,ThreadLocal)
数据库连接池·threadlocal·dto·封装jdbcutil·jdbc工具类事务问题
丁总学Java1 年前
SSM项目实战-控制层-登录方法实现,使用Postman测试登录功能
spring·mybatis·ssm·springmvc·requestbody·dto·crossorigin
丁总学Java1 年前
项目实战:service业务逻辑组件引入
servlet·service·dao·dto
Seashell_Huang1 年前
SAP PI 配置SSL链接接口报错问题处理Peer certificate rejected by ChainVerifier
服务器·网络协议·sap·ssl·po