后端接口如何接受对象数组

后端接口如何接受对象数组

方式一:直接使用字符串接受

后端代码:
 @PostMapping("/addCommodityBatch")
    public String addCommodityBatch( String commodityIncludeCountBeansJsonString){
        List<CommodityIncludeCountBean> list = JSON.parseArray(commodityIncludeCountBeansJsonString,CommodityIncludeCountBean.class);
        return "";
    }

这里接受的json字符串,然后利用alibaba的JSON工具可以直接想字符串转化为我们想要的list集合。

前端代码
function addCommodityByBatch(array) {
            $.ajax({
                url:"/commodity/addCommodityBatch",
                type:"post",
                data:{'commodityIncludeCountBeans':JSON.stringify(array)},
                // data:"commodityIncludeCountBeansJsonString="+JSON.stringify(array),//和上面的一样都是可以的!
                async:false,
                contentType:'application/x-www-form-urlencoded',//默认的数据格式,可以省略!
                success:function (respData) {
                    if(respData.resultCode == 1){
                        layer.msg("入库成功!")
                    }else {
                        layer.msg("入库失败!",{icon:5})
                    }
                }
            })
        }
数据格式

在这里插入图片描述

这样就相当于前端把数组先转化为json字符串,然后后端接受到字符串后在解析成对应的对象数组!

方式二:使用数组接受(集合也可以)

只需要注意三个地方:①后端参数前加上@requestBody注解。②前端设置传递数据格式为application/json。③前端直接传JSON.stringify(xx)参数。

后端代码:
    @PostMapping("/addCommodityBatch")
    public String addCommodityBatch(@RequestBody CommodityIncludeCountBean[] commodityIncludeCountBeans){
//        List<CommodityIncludeCountBean> list = JSON.parseArray(commodityIncludeCountBeans,CommodityIncludeCountBean.class);
        List<CommodityIncludeCountBean> list = new ArrayList<CommodityIncludeCountBean>();
        Collections.addAll(list,commodityIncludeCountBeans);//
        return "";
    }

只需要加上@requestBody注解,这里就会自动将接受的json字符串转化为我们规定数组!

前端代码
//将购物车中的商品添加到库中
        function addCommodityByBatch(array) {
            $.ajax({
                url:"/commodity/addCommodityBatch",
                type:"post",
                // data:{'commodityIncludeCountBeans':JSON.stringify(array)},
                // data:"commodityIncludeCountBeansJsonString="+JSON.stringify(array),
                data:JSON.stringify(array),
                async:false,
                contentType:'application/json;charset=utf-8',
                success:function (respData) {
                    if(respData.resultCode == 1){
                        layer.msg("入库成功!")
                    }else {
                        layer.msg("入库失败!",{icon:5})
                    }
                }
            })
        }
数据格式

在这里插入图片描述

以上两种方式都可以实现传递数组到后端接口,结束!
  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值