vue.js axios发请求时,参数包括dto和一个flag, 后台如何接?
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;
}
});
}
}
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
昨天同事给我了另外一个思路,发上来,后台是能接到的, dto自动解析javaBean, flag给string接到了.
是不是要接收
Content-Type: application/x-www-form-urlencoded
的请求,如果是的话axios.post 里面用 qs 转一下数据即可