flsh

关于Axios传json对象给后端,后端将json在转换为pojo对象,

Controller使用@ResquestParam注解,形参并不直接写pojo对象,而是Map< String,Object>对象,然后使用其get(“key”)方法得到前端作为url参数传递过来的json格式的object对象,使用toString转化为字符串后,利用第三方架包fastjson的JSON.ParseObject()将字符串转成后端直接使用的pojo对象

我用的时fastjson来实现转换格式的,获取json数据,再将json转为pojo

 

前端

发送请求

JSON.stringify(this.form)为将对象转换为json对象

复制代码
const _this= this;
                console.log('submit!');
                console.log(_this.form);                
                this.$axios({
                    method: 'post',
                    url: 'http://localhost:8090/addDepartmente',
                    data: qs.stringify({  // 1
                        form: JSON.stringify(this.form)
                    })
                })
复制代码

后端

导入依赖

<!--        fastjson-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>2.0.1</version>
        </dependency>

controller

复制代码
    @RequestMapping(value = "/addDepartmente", method = RequestMethod.POST)
    public void addDepartmente(@RequestParam Map<String, Object> param) { // 2
// get("key")方法得到前端作为url参数传递过来的json格式的object对象
        Object o = param.get("form");
// toString转成字符串
        String DepartmentStr = o.toString();
        System.err.println(DepartmentStr);
// 三方架包fastjson转pojo对象
        department department = JSON.parseObject(DepartmentStr, department.class);
// 对象使用
        System.err.println(department);
        departmentService.addDepartment(department);
    }
复制代码

 

当然还有其他方法可以实现,转换格式

(5条消息) Axios使用Post向Spring传递POJO对象的三种方法(@RequestBody与@RequestParam注解)_莉妮可丝的猫的博客-CSDN博客_axios post传对象

posted on   小鱼洗香香  阅读(363)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示