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

po、dto、vo的使用场景

现在项目中有两类模型类:DTO数据传输对象、PO持久化对象,DTO用于接口层向业务层之间传输数据,PO用于业务层与持久层之间传输数据,有些项目还会设置VO对象,VO对象用在前端与接口层之间传输数据,如下图:

当前端有多个平台且接口存在差异时就需要设置VO对象用于前端和接口层传输数据。

比如:

课程列表查询接口,根据需求用户在手机端也要查询课程信息,此时课程查询接口是否需要编写手机端和PC端两个接口呢?如果用户要求通过手机和PC的查询条件或查询结果不一样,此时就需要定义两个Controller课程查询接口,每个接口定义VO对象与前端传输数据。

手机查询:根据课程状态查询,查询结果只有课程名称和课程状态。

PC查询:可以根据课程名称、课程状态、课程审核状态等条件查询,查询结果也比手机查询结果内容多。

此时,Service业务层尽量提供一个业务接口,即使两个前端接口需要的数据不一样,Service可以提供一个最全查询结果,由Controller进行数据整合。

如下图:

如果前端的接口没有多样性且比较固定,此时可以取消VO,只用DTO即可。

如下图:

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

相关文章:

  • 聊一聊Elasticsearch的一些基本信息
  • Unity 两篇文章熟悉所有编辑器拓展关键类 (上)
  • Spring SPI、Solon SPI 有点儿像(Maven 与 Gradle)
  • 合并排序算法(C语言版)
  • C++——输入一行文字,找出其中的大写字母、小写字母、空格数字以及其他字符各有多少。用指针或引用方法处理。
  • 【skywalking】maximum query complexity exceeded 3336 > 3000
  • 开源一个开发的聊天应用与AI开发框架,集成 ChatGPT,支持私有部署的源码
  • 开发了一个成人学位英语助考微信小程序
  • LeetCode16:最接近的三数之和
  • VisualStudio2022配置2D图形库SFML
  • 「Mac畅玩鸿蒙与硬件4」鸿蒙开发环境配置篇4 - DevEco Studio 高效使用技巧
  • 构建生产级的 RAG 系统
  • 完全透彻了解一个asp.net core MVC项目模板2
  • uniapp 如何调用音频
  • 在Facebook运营中使用住宅IP的重要性
  • EJB项目如何升级SpringCloud
  • HTTPS 协议原理
  • Vxe UI 表格行编辑(默认不显示编辑框,点击后可编辑)
  • 移远通信闪耀2024香港秋灯展,以丰富的Matter产品及方案推动智能家居产业发展
  • 爬虫利器playwright
  • 着色器的认识
  • 科技的成就(六十四)
  • 银行信贷风控专题:Python、R 语言机器学习数据挖掘应用实例合集:xgboost、决策树、随机森林、贝叶斯等...
  • 〈壮志凌云:独行侠〉中的超高音速战机
  • k8s集群 ceph rbd 存储动态扩容
  • C语言笔记(指针题目)例题+图解
  • 从零开始的 vue项目部署到服务器详细步骤(vue项目build打包+nginx部署+配置ssl证书)
  • [OceanBase-不止于记录]:揭秘双引擎战略,共探AI时代数据架构未来
  • 项目:抽奖系统
  • synchronized进阶原理