咕噜咕噜噜^ 2021-04-24 01:08 采纳率: 100%
浏览 353
已采纳

SpringBoot获取vue端的json不为空但 RequestBody的实体为空???

Login.vue

<template>
  <div>
    手机号:<input type="text" v-model="loginForm.userphone" placeholder="请输入手机号"/>
    <br><br>
    密码: <input type="password" v-model="loginForm.userpass" placeholder="请输入密码"/>
    <br><br>
    <button v-on:click="login">登录</button>
  </div>
</template>

<script>

export default {
  name: 'Login',
  data () {
    return {
      loginForm: {
        userphone: '',
        userpass: ''
      },
      responseResult: []
    }
  },
  methods: {
    login () {
      this.$axios
        .post('/login', {
          userphone: this.loginForm.userphone,
          userpass: this.loginForm.userpass
        })
        .then(successResponse => {
          if (successResponse.data.code === 200) {
            this.$router.replace({path: '/index'})
          }
        })
        .catch(failResponse => {
        })
    }
  }
}
</script>

RequestLoginVo.java

@Getter
@Setter
public class RequestLoginVo {
    @JsonProperty(value = "userPhone")
    private  String userPhone;
    @JsonProperty(value = "userPass")
    private String userPass;

//    private String captcha;
}

UserController.java

    @CrossOrigin
    @PostMapping(value = "api/login")
    @ResponseBody
    public Result login(@RequestBody RequestLoginVo requestLoginVo){

        System.out.println(requestLoginVo.getUserPhone());
        System.out.println(requestLoginVo.getUserPass());
        System.out.println(requestLoginVo);

        User user=userService.queryByUserPhone(requestLoginVo.getUserPhone());
        //用户不存在或密码错误
        if(user==null || !user.getUserPass().equals(Md5Utils.hash(requestLoginVo.getUserPass()))){
            if(user==null)
                System.out.println("user==null");
            if(!user.getUserPass().equals(Md5Utils.hash(requestLoginVo.getUserPass())))
                System.out.println("wrong pass");
            return new Result(400,"失败");
        }
        Map<String,Object> userMap=new HashMap<>();
        userMap.put("userId",user.getUserId());
        if(user.getUserType()== Helpless.UserTypeEnum.ORDUSER){
            userMap.put("isAdmin",true);
            return new Result(200,"成功");
//            return Result.getSuccess().setData(userMap);
        }else{
            userMap.put("isAdmin",false);
            return new Result(200,"成功");
//            return Result.getSuccess().setData(userMap);
        }
    }

把RequestLoginVo换成String类型,能输出正确的json格式,RequestLoginVo类型就为null

  • 写回答

5条回答 默认 最新

      报告相同问题?

      相关推荐 更多相似问题

      悬赏问题

      • ¥15 ubuntu18.04 tty报错&tty界面su/sudo命令无法执行,如何解决?
      • ¥20 关于c语言网络编程,实现传文件和即时聊天
      • ¥20 下面的压缩方法是否可行
      • ¥15 结构体数组读取文件信息失败,读取不了
      • ¥15 kaldi thchs30 训练遇到问题
      • ¥15 shellter无法使用,如何解决?(操作系统-kali)
      • ¥15 matlab动态模态分解程序
      • ¥60 关于渗透及远控的几个问题
      • ¥15 python文本词汇出现次数统计
      • ¥15 使用按键和串口,记录按键在不消抖的情况下触发的次数