前端关键代码如下:
需要传到后台的对象
user:{
roomId:'',
peopleIdentity:'',
name:'',
pushMoney:0.0
}
ajax请求
KF2(){
let _this=this;
alert(this.user.peopleIdentity)
axios({
url:"/addKF",
methods:"post",
params: {
user:_this.user
}
}).then(resp=>{
var i= resp.data.addKF;
alert(i);
if (i>0){
alert("开房成功");
}
})
}
controller层数据如下:
@PostMapping("/addKF")
public String addKF(@RequestBody User user, HttpServletResponse response)throws Exception{
System.out.println("我进来开房的controller");
System.out.println(user);
int i = hotelService.addKF(user);
System.out.println("添加的状态为:"+i);
JSONObject jsonObject=new JSONObject();
jsonObject.put("addKF",i);
PrintWriter writer = response.getWriter();
writer.print(jsonObject);
return null;
}
这个注解加上后,前端参数得放到body里面,不能拼接在链接后面了。用data
@RequestBody
表示接收的请求内容类型不能是表单类型,
params: {
user:_this.user
}
修改为
data:_this.user
data
本来想的是把 (user:{
roomId:'',
peopleIdentity:'',
name:'',
pushMoney:0.0
})这段代码的数据发送到controller,结果controller那边接收不到,然后去网上,网上说要使用@RequestBody这个注解,加上这个注解之后,controller就接收不到请求了
你controller上的注解是哪个注解?