小白遇坑

刚开始我是用get方法来传递json数据,但是总是报错:Required request body is missing,我人傻了,对着这个错误百度了半天,才发现,原来axios get请求方式传递给后台的参数都是字符串形式,无法传递json对象或数组对象等,犯了这么低级的错误,实在是惭愧!

axios post方式传递json数据

  1. 首先安装axios
npm run dev
  1. 在main.js中引入axios
import axios from 'axios' //引入
Vue.prototype.$axios=axios //定义为全局
  1. 在需要传值的地方使用以下代码
this.$axios({
                  url:'http://localhost:8087/creatClusterAndNodes', //此处是你向后端发送数据的地址,根据你自己的地址进行修改
                  data:this.formdata, //此处是要传递的json数据,根据你的参数进行修改
                  method:"POST",  //设置为POST请求
                  header:{
                    'Content-Type':'application/json' //规定传递的参数格式为json
                  }
                })
                  .then(res=>{
                    console.log(res.data)
                  })
                  .catch(Error=>{
                    console.log(Error)
                  })
  1. 后台接收参数
 @RequestMapping(value = "/creatClusterAndNodes", method = RequestMethod.POST, produces = "application/json;charset=UTF-8") //这里的method要设置为RequestMethod.POST
    public String creatClusterAndNodes(@RequestBody JSONObject jsonParam) {
        System.out.println("jsonParam:"+jsonParam);
        return "okk";
    }
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐