前后端传参问题

2022-05-06 11:43:36 +08:00
 MonkeyCoder

写了一个批量删除的接口.前端说没法传参,印象中是可以没问题的.

    
    public HttpResult deleteRule(@ApiParam("主键集合") @RequestBody List<Integer> ids) {}

真的传不了吗?

1995 次点击
所在节点    问与答
19 条回复
hiro0729
2022-05-06 11:46:36 +08:00
前端功夫不到家,或者写前端脚手架的人把 RequestBody 限制成第一层只能是个对象,不能是数组
noe132
2022-05-06 11:48:01 +08:00
如果是 http delete ,可能是不好传。如果是 post 应该是没问题的
ration
2022-05-06 11:49:55 +08:00
你能在 postman 写出来肯定是能传的,不能传的原因要不就是他不会,要不就是框架改起来麻烦不愿意搞
MonkeyCoder
2022-05-06 11:55:05 +08:00
@ration #3 明白了
meeop
2022-05-06 12:34:38 +08:00
封个对象吧,或者变量定义为 string ids=“1,2,3”

虽然这个问题肯定是前端能力问题,但是把后端接口定义成对象或者多个变量,后续好扩展加字段
meeop
2022-05-06 12:36:12 +08:00
都是同事,你举手之劳,他可能要改半天
devld
2022-05-06 12:39:23 +08:00
可能是前端太菜了
november
2022-05-06 12:47:26 +08:00
@meeop 同意 6 楼,方便同事就是方便自己。就这个问题而言,你就简单改下,前端就可以跑了。他既不用去百度也不用去改框架。
nitmali
2022-05-06 13:27:30 +08:00
可能封装限制
fiypig
2022-05-06 13:44:27 +08:00
直接用字符串 然后做下分割
wolfie
2022-05-06 13:50:33 +08:00
碰到不少前端,就说自己调用不好使,肯定是接口问题,不去考虑为什么 postman 能请求。
MonkeyCoder
2022-05-06 13:54:32 +08:00
@wolfie #11 我还碰到过让我把返回的 json 组装成和前端组件一样格式的要求.直接喂饭到嘴边
daimubai
2022-05-06 14:19:35 +08:00
可以传,我们接口就这样定义的。
h1104350235
2022-05-06 14:22:26 +08:00
能传是一回事,费不费事又是一回事了。
FawkesV
2022-05-06 14:27:53 +08:00
只能说可以这样子做,但是前端不好改,你就稍微弄弄吧,逗号分隔传字符串完全可以的.
你就多一行代码而已.他们可能要改整个封装的过程.
都是打工的,不容易
Cloud9527
2022-05-06 14:30:54 +08:00
前端数组都传不了吗。。。
IvanLi127
2022-05-06 14:42:35 +08:00
做啥的前端? Web 的话是可以的。不过不能排除有些残疾环境是有问题的。
KouShuiYu
2022-05-06 14:56:44 +08:00
如果说 get 请求没办法传 json ,前后端定义一套解析规则就行了
有现成库 https://www.npmjs.com/package/qs
每周 6 千万的下载,同比之下 react 每周一千万的下载
Seulgi
2022-05-06 15:47:47 +08:00
肯定是可以的。但是现在很多前端他们把请求层封装起来了,但是他们封装得就只能接收一个{}对象,所以你现在让他们给你传[],他们通过封装层出来是{[]},他们改就得改封装。所以简单点,就是你改改。闲的时候再跟前端拉通定下规范,以后按规范写就什么事都无了。

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

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

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

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

© 2021 V2EX