Java 加一个字段很难吗?

2021-09-26 17:24:13 +08:00
 liuidetmks

传输数据 加一个字段非常麻烦, 甚至同一种结构,从 xml 换成 json 返回,就会改动非常大?

难道 java 就没用一种通用的 map 结构表示 字典吗? 加个东西总是有很大抵触?

例如 一个 map

{
   ....
}

在使用的时候 按需取值
var a = map['a']
var b = map['b']
或者从页面 A 直接传一个 map,A 页面不需要关注到底 map 有什么(服务器返回) 到 B 页面, B 页面按需取用。

10844 次点击
所在节点    Java
90 条回复
lakehylia
2021-09-26 18:01:48 +08:00
c++表示,参数结构里面都会带个 char reserved[128]; 就怕楼主这样的人 [狗头]
tommyzhang
2021-09-26 18:03:32 +08:00
十大傻逼行为之首 mapv 传参
xuanbg
2021-09-26 18:04:04 +08:00
加字段简单得很呐
thetbw
2021-09-26 18:05:41 +08:00
加一个字段应该是个很谨慎的吧,要么就是你们产品经常改需求,要么就是你数据建模太烂
dqzcwxb
2021-09-26 18:09:42 +08:00
十大傻逼行为之首 应当是数组传参,二是 map 传参
sujin190
2021-09-26 18:15:43 +08:00
@Jooooooooo #7 但是真实现实版应该是半年后项目黄了。。
BrettD
2021-09-26 18:25:57 +08:00
你一定会后悔的
scxiazi
2021-09-26 18:38:17 +08:00
为啥要用 map 呢, 还为啥要不同的页面数据放一个接口里
Kilerd
2021-09-26 18:50:08 +08:00
怎么那么多楼了还没见到 apijson 啊,这个库是凉掉了吗
msg7086
2021-09-26 19:02:25 +08:00
用 Map 说白了就是全员无类型。你用 Java 就是为了用他的严谨,用他的类型系统。你那么喜欢用 Map 为什么不去用 PHP Python Ruby 之类的呢。(不过就算是在脚本语言里也有用对象来代替 Map 的倾向。)
dwlovelife
2021-09-26 20:44:25 +08:00
@Macolor21 groovy 也只不过是一种跑在 JVM 之上的语言,简化了语法,算个动态语言,但是像楼主说的这种接口字段从头到尾自适应,不是语言的问题,这是设计方面的问题
darkengine
2021-09-26 20:48:47 +08:00
照这么说还传啥 map 啊,直接一个 json string,万一业务发展又需要数组了呢 。。。 [滑🐔
ntop
2021-09-26 20:49:39 +08:00
class FinalEntity {
Map data;
}
两全其美,哈哈哈
dwlovelife
2021-09-26 20:50:42 +08:00
楼主你说的这种后台的入参在确实不确定的情况下,完全适应入参,只能采用 map 结构去接收,但是确确实实违法规范,即使使用 map 接受,你每进行一次业务变更添加或者修改一个字段(可能很频繁),后台是一点业务逻辑不需要处理么,那应该不现实,但凡有逻辑要处理用 map 和不用 map 那已经不重要了,因为无非是改一个地方还是改好多地方的问题,但是某些业务场景还是有方案去解决的,单纯的透传后端可能通过使用 map 去兼容你,但是如果大部分字段都和业务紧密相关需要做额外业务操作,那么用 map 和不用 map 没啥大区别
LowBi
2021-09-26 20:51:51 +08:00
不懂就问,我有个公共类方法,需要不同的实体类传进来,但是不知道怎么传到这个公共方法里,于是就用 map,把要传的字段先 put 进去,作为参数直接把 map 传过去,公共方法里再 get,取得字段都一样,就是有好几个不同实体类
Leviathann
2021-09-26 21:06:14 +08:00
@LowBi 把那几个字段的 get 方法抽成一个接口 A,让各个 entity 都实现一下,方法签名就写 <T extends A>
darkengine
2021-09-26 21:08:00 +08:00
@LowBi 把这些参数丢到一个类里,用这个类的实例作为参数
jiom
2021-09-26 21:12:57 +08:00
重构火葬场~
fkdog
2021-09-26 21:36:53 +08:00
见过太多的项目从底向上 entity 、domain 、dto 、vo.......

如果项目里有用到 mongodb 、es 的 mapping 类,那么一张表就可能拉出个 5 、6 个 pojo,从最下边的 entity 字段一直浮到最上边的 dto 或者 vo 。。。。

不过大部分问题还是软件开发者本身的问题。
加字段这种东西不管怎么说还是很 ez 的,后端不愿意加往往是因为你需要的字段前端也能计算出来没必要推给后端。
碰到这种前后端都能做的东西,只能看心情决定了。
HongJay
2021-09-26 21:49:20 +08:00
属实离谱,不知道 java 是强类型语言么

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

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

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

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

© 2021 V2EX