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 2022-10-02 22:35  小鱼洗香香  阅读(360)  评论(0编辑  收藏  举报

导航