V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
MonkeyCoder
V2EX  ›  问与答

前后端传参问题

  •  
  •   MonkeyCoder · 2022-05-06 11:43:36 +08:00 · 2191 次点击
    这是一个创建于 931 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    真的传不了吗?

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

    虽然这个问题肯定是前端能力问题,但是把后端接口定义成对象或者多个变量,后续好扩展加字段
    meeop
        6
    meeop  
       2022-05-06 12:36:12 +08:00
    都是同事,你举手之劳,他可能要改半天
    devld
        7
    devld  
       2022-05-06 12:39:23 +08:00 via Android
    可能是前端太菜了
    november
        8
    november  
       2022-05-06 12:47:26 +08:00
    @meeop 同意 6 楼,方便同事就是方便自己。就这个问题而言,你就简单改下,前端就可以跑了。他既不用去百度也不用去改框架。
    nitmali
        9
    nitmali  
       2022-05-06 13:27:30 +08:00
    可能封装限制
    fiypig
        10
    fiypig  
       2022-05-06 13:44:27 +08:00
    直接用字符串 然后做下分割
    wolfie
        11
    wolfie  
       2022-05-06 13:50:33 +08:00
    碰到不少前端,就说自己调用不好使,肯定是接口问题,不去考虑为什么 postman 能请求。
    MonkeyCoder
        12
    MonkeyCoder  
    OP
       2022-05-06 13:54:32 +08:00
    @wolfie #11 我还碰到过让我把返回的 json 组装成和前端组件一样格式的要求.直接喂饭到嘴边
    daimubai
        13
    daimubai  
       2022-05-06 14:19:35 +08:00
    可以传,我们接口就这样定义的。
    h1104350235
        14
    h1104350235  
       2022-05-06 14:22:26 +08:00
    能传是一回事,费不费事又是一回事了。
    FawkesV
        15
    FawkesV  
       2022-05-06 14:27:53 +08:00
    只能说可以这样子做,但是前端不好改,你就稍微弄弄吧,逗号分隔传字符串完全可以的.
    你就多一行代码而已.他们可能要改整个封装的过程.
    都是打工的,不容易
    Cloud9527
        16
    Cloud9527  
       2022-05-06 14:30:54 +08:00
    前端数组都传不了吗。。。
    IvanLi127
        17
    IvanLi127  
       2022-05-06 14:42:35 +08:00
    做啥的前端? Web 的话是可以的。不过不能排除有些残疾环境是有问题的。
    KouShuiYu
        18
    KouShuiYu  
       2022-05-06 14:56:44 +08:00   ❤️ 1
    如果说 get 请求没办法传 json ,前后端定义一套解析规则就行了
    有现成库 https://www.npmjs.com/package/qs
    每周 6 千万的下载,同比之下 react 每周一千万的下载
    Seulgi
        19
    Seulgi  
       2022-05-06 15:47:47 +08:00   ❤️ 2
    肯定是可以的。但是现在很多前端他们把请求层封装起来了,但是他们封装得就只能接收一个{}对象,所以你现在让他们给你传[],他们通过封装层出来是{[]},他们改就得改封装。所以简单点,就是你改改。闲的时候再跟前端拉通定下规范,以后按规范写就什么事都无了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2551 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 01:50 · PVG 09:50 · LAX 17:50 · JFK 20:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.