记一个axios post传值坑
今天练习时遇到个问题,前端使用axios post方式传对象,想用对象直接接收,以前也传过对象,今天不知道为什么后端怎样都接收不到,有懂得大佬麻烦说一下,前后端传值问题碰见过好多次了。
今天这个百度了很多方法都试过也不行,后来搜到了个优快云上的大佬提供的解决思路,使用String来接收json字符串,然后将其转换为需要的对象
直接上代码:
this.$http.post(url,JSON.stringify({ //前端使用JSON将其序列化
user:this.Message
}),{
headers:{
'Content-Type':'application/json;charset=utf-8' //设置请求头
}
}
).then(resp => {
后端接收(需要阿里巴巴的fastjson包)
@PostMapping("updateTitle")
public Boolean updateTitle(@RequestBody String user){
if (user!=null) {
log.info("传入的字符串为:{}",user);
JSONObject jsonObject = JSONObject.parseObject(user);
log.info("获取json对象为:{}",jsonObject);
JSONObject user1 = jsonObject.getJSONObject("user");
log.info("获取json对象为:{}",user1);
studentInfo studentInfo = user1.toJavaObject(studentInfo.class);
log.info("传入对象:{}",studentInfo);
return iStudent.updateTitle(studentInfo);
}
throw new MySignException(ExceptionEnum.INPUT_IS_BLANK);
}