vue.js axios发请求时,参数包括dto和一个flag, 后台如何接?

发布于 2022-09-07 15:39:01 字数 2030 浏览 7 评论 0

1.vue.js使用axios向后台发请求. 传递参数中包含一个object,一个string.
object到后台用javaBean接, String到后台用String接.

2.前台代码如下:

data() {
    return {
        sCompanyData: {
            id: undefined,
            zhName: "",
            usName: "",
            socialCreditCode: "",
            organisationNo: "",
            registerNo: ""
        },
        flag: "declare"
    };
},

methods: {
    sCompanySave() {
        this.$refs["childrenForm"].validate(valid => {
            // 验证通过保存用户信息
            if (valid) {
                axios.post("/htrt/compManager/sCompanySave", {
                        dto: this.sCompanyData,
                        flag: flag
                        }).then(resp => {
                        if (resp.data.success == false) {
                            this.$alert(resp.data.errorMsg, "提示", {
                                confirmButtonText: "确定",
                                callback: action => {}
                            });
                        } else {
                            this.sCompanyFormVisible = false;
                            this.$refs["childrenForm"].resetFields();
                            this.getList();
                        }
                    })
                    .catch(err => {
                        console.log(
                            "请求失败" + err.status + "," + err.statusText
                        );
                    });
            } else {
                console.log("error submit!!");
                return false;
            }
        });
    }
}

clipboard.png

3.后台java controller如下:

@RequestMapping(value = "sCompanySave")
 @ResponseBody
public JsonResponse<CompanyManagementDto> sCompanySave(@RequestBody Map<String,Object>paraMap) {

4.问题是我在controller里如何处理paraMap,
问题在 paraMap.get("dto"), 我跟代码, 看得到的内容也是个map, 但是强转成map还不成功....
请教各位同学, 有没有遇到我这个问题的.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

烈酒灼喉 2022-09-14 15:39:01

昨天同事给我了另外一个思路,发上来,后台是能接到的, dto自动解析javaBean, flag给string接到了.

                            axios.post(
                                "/htrt/compManager/sCompanySave?flag=" +"declare",
                                this.sCompanyData
                            )
酒浓于脸红 2022-09-14 15:39:01

是不是要接收Content-Type: application/x-www-form-urlencoded的请求,如果是的话
axios.post 里面用 qs 转一下数据即可

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文