![]() |
1
duhb 10 小时 31 分钟前
500 个参数?那得写多大的数据模型,model 里的参数都是一一对应的,否则 json 解析框架解析不成功,转换不成 model 实体。
|
![]() |
2
nice2cu 10 小时 27 分钟前
参数太多了 不是很合理的 后端咋知道 n 代表那个业务字段 估计还是手动维护
|
3
asdhak 10 小时 16 分钟前
产品经理提需求就行了,咋还指导上接口了?那不就外行指导内行了嘛
|
![]() |
4
kyuuseiryuu 10 小时 15 分钟前
让产品直接说希望这么实现的目的是啥。什么业务问题必须要这样的实现?
产品经理又不是架构师,只需要描述业务需求,不应该染指软件设计。 |
![]() |
5
woodfizky 10 小时 11 分钟前
这种应该是把参数解析成了模型,这个模型是静态的。
如果要改成动态的估计用 Map 可以支持?但是数据类型不确定,就算确定可能逻辑要重新写一些。 |
![]() |
6
Lisa9527 10 小时 7 分钟前
这就回归到开发设计的问题了
|
![]() |
7
nekomiao 10 小时 6 分钟前 via Android
直接 map 或者 jsonobject 接收了再解析 key 不就行,写起来是丑了点有啥改不了的。分分钟就改完了,要不是他菜要不是他懒
|
8
fredweili 10 小时 5 分钟前
改一下这个结构,用两个数组,keys 和 values ,传输时候用逗号什么分割序列化,再加一个 count 校验
这也比这么大的 map 好看多了,变来变去的 kotlin 不好写 model |
![]() |
9
luwies 10 小时 5 分钟前
不应该改成数组存放这 500 个参数吗?我也会说改不了。。。
|
![]() |
11
lw10645 9 小时 36 分钟前
改不了,谁家好人这么写代码
|
![]() |
12
fregie 9 小时 25 分钟前
谁着急上线谁想办法呗
|
![]() |
13
internelp 9 小时 25 分钟前 ![]() 要不然这么改
``` { "count": 2, "data": [ { "key": "xxx1", "value": "v1" }, { "key": "xxx2", "value": "v2" } ] } ``` |
14
han3sui 9 小时 19 分钟前
我们之前也是,因为 js 的兼容性太好,导致后端写接口会放飞。
然后多端上线的时候,遇到安卓、ios 这种数据类型要求比较严格的,经常会冲突。 |
15
FireKey 9 小时 2 分钟前
我之前接过一个接口,每个状态的结构都不一样,那才是真奇葩
|
16
xz410236056 9 小时 1 分钟前
@internelp 一个效果,只要用 ORM ,你就得把 key 转成固定的属性,难道一个类 500 个属性吗。这玩意应该用数组。如果每个 key 不一样,那也应该是数组里面套字典
|
![]() |
17
qxdo1234 8 小时 58 分钟前 ![]() 写成动态数组去维护比较好一点吧,[{key_name:xxx, key_value:xxx, key_type:xxx}] 这样子的,这样前端后端解偶了,后续也不会遇到参数变更,两边都要改接口,只要两边各自去写自己的逻辑就好了。
|
![]() |
18
guanhui07 8 小时 28 分钟前
我跟 13 楼的一样
|
![]() |
19
kookpua 8 小时 24 分钟前
直接用 json 吧
|
20
jiahailiang22 8 小时 3 分钟前
17 楼 正解
|
![]() |
21
Light3 7 小时 50 分钟前
没有说明传输数据是直接再次请求接口
还是本地操作 然后请求对应数据 如果参数过多 还是本地操作的话 确实和 2 个参数差距有点大 发怒也是必然的 再者 前端是快 安卓还要打包 加固.. 所以外行领导内行就是这样 没有思考 |
![]() |
22
ramcasky 7 小时 50 分钟前
我最近也是遇到 JAVA 类型定的很死 就很奇怪 字符串的硬要前端给整型,整型的硬要我给字符串,想了想我说都给 string 比较通用,他说改不了,有点纳闷那么不灵活的吗
|
![]() |
23
meeop 7 小时 33 分钟前
不会用 json ,list ,甚至暴力写一个 xxxN1-xxxN100000 的结构去解析吗
都 ai 时代了,只要逻辑能说清楚,代码多点也没啥 |
![]() |
24
southsala 7 小时 30 分钟前 ![]() 你们这些野路子看着真的火大
|
25
julyclyde 7 小时 17 分钟前
安卓又不是 C 语言,哪儿来的结构体这种东西?
关键是 app 已经发出去了啊,你就算再改也是下一个版本了 那已有版本的用户如果赖着不升级咋办? |
![]() |
26
xiang0818 6 小时 57 分钟前
xxxN1 ,这种传参数,谁教你的
|
![]() |
27
zjsxwc OP @xiang0818 #26 历史遗留代码就这么写的啊, 我不是不想改成 `{"id": 1, "key": "xxx", "value": 123}` 来 代替 "xxxN1":123 ,就是原先代码已经这样了,我也懒得改,影响我下班。
|
![]() |
28
icyalala 6 小时 31 分钟前 ![]() 所以楼主不是野路子,楼主知道什么结构是合理的,但是因为 “懒得改,影响我下班” 而吧工作量转移给客户端
|
![]() |
29
liqingyou2093 5 小时 40 分钟前
使用数组,同 17
|
![]() |
30
BwNVlwSq 3 小时 45 分钟前
确实抽象...
|
31
soulflysimple123 3 小时 2 分钟前
碰到这样前端确实头大
|
![]() |
32
20015jjw 2 小时 55 分钟前 via iPhone
动态改名字是什么脑瘫操作
|
![]() |
33
IvanLi127 2 小时 55 分钟前
安卓应该起一个新的后端服务做中间层代理服务,把数据重新序列化成数组格式,然后给运维部署到服务器上,然后再继续开发。
|
34
sampeng 2 小时 15 分钟前
不是技术问题。。。谁发飙谁去找产品说去。。关你啥事。。
|
![]() |
35
billbob 1 小时 44 分钟前
json 啊,转成 map 对象,java 要放飞还不简单,而且 android 里面各种序列化,比 JS 还多.
spring 都支持 map 接参,只要不想后期维护,就用各种泛型接. 前端有动态表单,我们有泛型接参就这么简单,逻辑都不用后台处理 |