华哥啊. 2022-05-04 23:14 采纳率: 100%
浏览 116
已结题

使用put请求时,axios方法测试和postman里面测试同一个接口,postman出现的异常

后端接口:

 @PutMapping("/updateUser")
    public SysResult updateUserById(@RequestBody User user){
        System.out.println("user = " + user);
        Integer row = userService.updateUserById(user);
        return SysResult.success(row);
    }

前端请求方式:

 updateUser(){
        //1.预校验数据
        this.$refs.updateUserRef.validate(async valid => {
           if(!valid)  return this.$message.error("表单验证没有通过")
           //根据接口文档要求封装数据
           let user = {}
           user.id = this.updateUserModel.id
           user.phone = this.updateUserModel.phone
           user.email = this.updateUserModel.email
           const {data: result} = await this.$http.put(`/user/updateUser`,user)
           if(result.status !== 200) return this.$message.error("用户修改失败")
           console.log(user)
           this.$message.success("用户更新成功")
           this.updateDialogVisible = false
           this.getUserList()
        })
      },

postman 请求结果

img

其实使用前端axios访问时没有问题但,但是用postman就不得行,而如果我把接口参数前面的@requestBody去掉,用postman就可以正常访问,而前端axios方法 请求的数据在后端却又不能够接收了.

  • 写回答

4条回答 默认 最新

  • 富婆遇见我 2022-05-04 23:32
    关注

    解决方案:请在 postman 中选择 body 然后再选择 json 。
    简单解答:@RequestBody 是接收请求体中的数据,而你用 postman 发送的是请求参数 。异常已经告诉你了缺少请求体数据。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 5月14日
  • 已采纳回答 5月6日
  • 创建了问题 5月4日

悬赏问题

  • ¥50 NT4.0系统 STOP:0X0000007B
  • ¥15 想问一下stata17中这段代码哪里有问题呀
  • ¥15 flink cdc无法实时同步mysql数据
  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。