vue Post请求传递参数,Java接收不到

问题描述:

当Java后端Api接口需要前端的Vue项目使用Post请求传递参数,并且后端没有使用@RequestBody这个注解的时候,就会出现Java后端取不到前端传递过来的参数


解决方案:

  1. 后端使用@RequestBody注解;将要取得的参数列表封装为一个实体类,使用@RequestBody注解就可以

    请求的接口

        @PostMapping("updateUser")
        public JsonResult updateUser(Integer userId,@RequestBody SysUser sysUser) {
            sysUser.setId(userId);
            return sysUserService.updateUser(sysUser);
        }
    

    部分的SysUser代码

    public class SysUser implements Serializable {
        private static final long serialVersionUID = 901945595812448349L;
        private Integer id;
    
        private String username;
    
        private String password;
        /**
         * 登录账号
         */
        private String loginName;
        /**
         * 部门id
         */
        private Integer deptId;
    }
    
  2. 让前端将参数进行序列化后再传递到后端接口,这样后端接口不修改同样可以取到参数,关键代码就下面的第6行代码

     let data1 = {
         roleName: that.addForm.roleName,
         remark: that.addForm.remark,
         menuId: that.addForm.checkedKeys
     }
     data1 = this.$qs.stringify(data1);
     addRole(data1).then((res) => {
         if (res.data.code == 0) {
         	console.log(res)
         	this.$message.success('新增角色成功!');
         	this.getRolesTableData();
         }
     })
    
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值