controller 接受的参数是 vo 还是 dto

2020-05-14 18:15:22 +08:00
 muyunn

有没有代码比较规范的 java 后端开源项目

13223 次点击
所在节点    程序员
49 条回复
chendy
2020-05-14 18:22:12 +08:00
controller 的参数用于前后端数据传输,所以是 dto
asAnotherJack
2020-05-14 18:35:15 +08:00
无知的我悄悄打开搜索引擎查了一下 vo 和 dto 是什么意思
tangzh55
2020-05-14 18:38:02 +08:00
po 对应表结构一一对应,vo 在表结构基础字段上增减个性化的返回给前端,dto 在表结构基础字段上增减个性化的用于入参
我们是这样的
muyunn
2020-05-14 18:39:44 +08:00
哈哈哈
muyunn
2020-05-14 18:40:05 +08:00
@asAnotherJack 哈哈哈
muyunn
2020-05-14 18:40:34 +08:00
@chendy 我看到有人说是 vo,糊涂了
muyunn
2020-05-14 18:40:50 +08:00
@tangzh55 好的,就按照你说的来
IMCA1024
2020-05-14 18:42:47 +08:00
emm 。。
我们是 Controller 接收 XXRequest 类
然后在 Controller 转成 XXDTO 给 Service
Service 传 DTO 给 Mapper
Service 返回 VO 给 controller
controller 最终返回 XXResponse
jinzhongyuan
2020-05-14 18:42:50 +08:00
codergrowing
2020-05-14 18:43:35 +08:00
参数我们都是叫* Param,VO 是给前端返回的数据,DTO 仅使用于 service 层
luckyrayyy
2020-05-14 18:43:39 +08:00
我 controller 入参出参都用的 vo……
muyunn
2020-05-14 18:48:14 +08:00
@IMCA1024 转糊涂了快😂
125113483
2020-05-14 18:57:44 +08:00
View Object 和 Data Transfer Object 视图对象 就是把页面的参数封装起来 和数据传输对象 就是用于展示层和服务层之间转换。用于 service 层的
xlui
2020-05-14 19:19:47 +08:00
我们一般 rpc 接口用的是 dto,controller 倒是没见过 dto 的用法,vo 居多
mmdsun
2020-05-14 19:29:50 +08:00
Spring Data REST 做的。不过我一直都是直接用实体。
不知道这样会有什么问题吗?

主要是不想搞太多 dto,vo (实体从头用到尾。
xy90321
2020-05-14 19:55:09 +08:00
我司项目里一般管 VO 叫 WebDTO 👻
peyppicp
2020-05-14 19:59:27 +08:00
***Request
***Response

Golang :)
watzds
2020-05-14 20:03:53 +08:00
VO 到底是 value object 还是 view object ?
Service 用 DTO 吗
还有转来转去头疼啊
freebird1994
2020-05-14 20:06:34 +08:00
我们 dto 只用于 rpc 传输,没有 controller 所以没有 vo
xizismile
2020-05-14 20:09:19 +08:00
都可以呀,只要这个规范在你们的开发团队统一就行

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/671729

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX