猩猩老师 2021-12-31 11:12 采纳率: 88.9%
浏览 468
已结题

controller层加上@RequestBody注解,就接收不到前端发送过来的请求了

前端关键代码如下:

需要传到后台的对象
 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;
    }
  • 写回答

6条回答 默认 最新

  • 七号公园的忧伤 Java领域新星创作者 2021-12-31 11:18
    关注

    这个注解加上后,前端参数得放到body里面,不能拼接在链接后面了。用data

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
  • 大鹏cool Java领域优质创作者 2021-12-31 11:20
    关注

    @RequestBody 表示接收的请求内容类型不能是表单类型,

                              params: {
    
                                  user:_this.user
    
                              }
    

    修改为

    data:_this.user
    
    评论
  • 浪在前端 2021-12-31 11:22
    关注

    data

    img

    评论
  • 猩猩老师 2021-12-31 11:37
    关注

    img


    改成这样好像没什么用

    评论
  • 猩猩老师 2021-12-31 11:41
    关注

    本来想的是把 (user:{
    roomId:'',
    peopleIdentity:'',
    name:'',
    pushMoney:0.0
    })这段代码的数据发送到controller,结果controller那边接收不到,然后去网上,网上说要使用@RequestBody这个注解,加上这个注解之后,controller就接收不到请求了

    评论
  • 关注

    你controller上的注解是哪个注解?

    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 4月26日
  • 已采纳回答 4月18日
  • 创建了问题 12月31日

悬赏问题

  • ¥15 qt https 依赖openssl 静态库
  • ¥15 python flask 报错
  • ¥15 改个密码引发的项目启动问题
  • ¥100 CentOS7单线多拨
  • ¥15 debian安装过程中老是出现无法将g21dr复制到g21dr怎么解决呀?
  • ¥15 如何用python实现跨工作簿的指定区域批量复制粘贴
  • ¥15 基于CH573f的雷迪安CR1400m通讯代码
  • ¥15 matlab m文件如何与matla app designer 数据交互?
  • ¥15 c++数据结构与算法问题
  • ¥15 根据控制框图,传递函数求解