当前位置: 首页 > news >正文

详解前后端交互时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层进行数据整合

在这里插入图片描述

http://www.lryc.cn/news/253560.html

相关文章:

  • 力扣295. 数据流的中位数
  • 英语二笔记
  • 【OpenSSH升级】升级后证书认证登录突然失效
  • pytest +uiautomator2+weditor app自动化从零开始
  • 【计算机网络笔记】物理层——信道与信道容量
  • 深度学习火车票识别系统 计算机竞赛
  • C++EasyX之井字棋
  • 12.5_黑马数据结构与算法Java
  • 【PID学习笔记 5 】控制系统的性能指标之一
  • HarmonyOS学习--TypeScript语言学习(三)
  • Matlab 镜像变换(2D)
  • SpringBoot3-快速体验
  • 计数问题(数位DP)
  • SQL Server事务(Transaction)
  • Python语言基础学习大纲(由某大模型生成)
  • nodejs+vue+微信小程序+python+PHP天天网站书城管理系统的设计与实现-计算机毕业设计推荐
  • 工业机器视觉megauging(向光有光)使用说明书(十二,轻量级的visionpro)
  • HarmonyOS学习--了解基本工程目录
  • JRT导出协议实现
  • Unity中动态合批
  • 逆水行舟!浅谈24届双非本科秋招
  • vue3请求代理proxy中pathRewrite失效
  • 练习题——-【学习补档】日期差值
  • 面试问题 --文件描述符和流
  • 离线安装Zabbix的MariaDB报Error: Package: 1:mariadb-server-5.5.68-1.el7.x86 64异常解决方法
  • 【go语言开发】go项目打包成Docker镜像,包括Dockerfile命令介绍、goctl工具生成
  • Python:可以做什么?
  • Lookup Argument简史
  • 【unity3D】Transform组件(如何访问和获取Transform组件)
  • 单实例应用程序