问题描述
SpringBoot + vue.js前后端分离开发的模式。
写了个demo,前端以JSON格式将参数数据传到后端,后端用==@RequestBody==注解接收。vue代码如下
postJsonRequest = (config) => {
return axios({
method:'post',
url:config.url,
headers:{'Content-Type':'application/json;charset=UTF-8'},
params:JSON.stringify(config.params)
});
}
F12中看到请求的== Content-Type==没有设置成功,所以传到后端的不是JSON数据导致报错。
解决方案
在网上收集资料后发现。原来是因为data为空,content-length为0,此时content-type不生效(可能是考虑到优化的问题)。
因此,把axios方法中的params改成data就可以了,修改完代码如下:
postJsonRequest &