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 页面按需取用。

11166 次点击
所在节点    Java
90 条回复
oldroot
2021-09-26 17:29:18 +08:00
你好有的 @RequestBody Map<String,Object> map
zzfer
2021-09-26 17:30:18 +08:00
没看懂你说什么,我只知道 Java 加字段很简单
liuidetmks
2021-09-26 17:30:22 +08:00
@oldroot 那为什么从 xml 切换到 json 格式 也有很大难度呢?
AllenHua
2021-09-26 17:30:43 +08:00
来了来了,用 map 传参,🐶️
HanLi2021
2021-09-26 17:31:02 +08:00
这不是语言的问题,这是沟通的问题。

1 java 当然有 map
2 改动抵触大是不是前期没有沟通好接口?
Tenma
2021-09-26 17:31:12 +08:00
Map 当然是有,但是如果全部是 map,项目大了就是地狱,你不知道每个接口到底返回什么,也很难区分每个 key 代表什么意思。除非你们是有标准的接口定义文档,但是如果是有标准文档,那就不会出现随便添加 key 值的操作。
Jooooooooo
2021-09-26 17:32:01 +08:00
5 年后的你发明了时间机器, 穿越回现在, 杀死了那个用 map 传参的你.
hcen1997
2021-09-26 17:32:31 +08:00
动态一时爽, 重构火葬场
没有编译器的类型系统提示, 就要靠你自己了解接口定义了
yuhangch
2021-09-26 17:36:39 +08:00
@Jooooooooo 绝了
ytll21
2021-09-26 17:38:59 +08:00
同一种结构,从 xml 换成 json 返回,就会改动非常大? => Why? 有例子可以看看吗?
BBCCBB
2021-09-26 17:40:11 +08:00
谁给你说的很难?
JsonSnowNothing
2021-09-26 17:44:01 +08:00
上家公司,项目里全是 map 入参出参,我真的想杀了之前的开发
x940727
2021-09-26 17:45:30 +08:00
加一个字段不难,难得是加数据对象字段,加实体类字段,加判断逻辑,加查询条件,加数据库字段,清洗现有数据,回归测试。
anzu
2021-09-26 17:53:41 +08:00
可以用 Map,但后果其他人说了。
一般是每一种数据结构定义一个 class,而这个 class 可能被用于其它 class,或被用于多个接口,随便加字段容易变屎山。
比较烦的地方在于,如果结构不能兼容,需要另外定义一套新结构,而新旧结构只有细微差别,于是折腾出废话般的 vo po do dto,写到吐
Macolor21
2021-09-26 17:53:42 +08:00
groovy 好像可以做你说的事,我之前一个项目里,是 JSON 格式-> 通过 JsonPath ?好像是,反正是 groovy -> JAVA 对象。
就是这种 obj[field] 的写法,我没深入看这一段。
lix7
2021-09-26 17:54:09 +08:00
哈哈哈 用 Map 传参还不如索性直接动态语言走起
xaplux
2021-09-26 17:56:06 +08:00
盲猜,楼主是个前端,想要后端加个字段,后端不给加,哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
lyog
2021-09-26 17:56:33 +08:00
我手头这项目是要么 map 入参出参,要么 json 转成 string 入参出参,整个项目没有一个 Bean,我真是服了
hsymlg
2021-09-26 17:58:38 +08:00
作为强类型语言,在 java 工程里最好不要用 map 传参。出参对象要是多处复用的话,确实会有影响,通常建议每个 response 一个对象
xsqfjys
2021-09-26 17:58:59 +08:00
map 传参也就算了,同一个接口不同实现同一个参数用的 key 还不一样,真的想杀人

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

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

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

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

© 2021 V2EX