登录验证接口/login返回值为null

写登录功能的时候,发现表单验证正常但未返回数据库的用户信息数据,data为null

 前端也并没有什么问题:

this.$refs.loginForm.validate((valid) => {
                    if (valid) { //valid成功为true,失败为false

                        //去后台验证用户名密码
                        this.$axios.post(this.$httpUrl+'/user/login',this.loginForm).then(res=>res.data).then(res=>{

                              console.log(res);
                            if(res.code==200){
                              //console.log(res.data.user);
                             //存储
                               sessionStorage.setItem("CurUser",JSON.stringify(res.data));
                              //console.log(res.data.menu)
                             // this.$store.commit("setMenu",res.data.menu);
                                //跳转到主页
                                this.$router.replace('/Index');
                            }else{
                                this.confirm_disabled=false;
                                // console.log(res);
                                alert('校验失败,账号或密码错误!');
                                return false;
                            }
                        });
                    } else {
                        this.confirm_disabled=false;
                        console.log('校验失败');
                        return false;
                    }
                });

后来经别人提醒,发现后端接口返回值函数有问题

我原来的接口:

//登录
    @PostMapping("/login")
    public Result login(@RequestBody User user){
        List list = userService.lambdaQuery()
                .eq(User::getUsername,user.getUsername())
                .eq(User::getPassword,user.getPassword()).list();

        return list.size()>0?Result.suc():Result.fail();
    }

修改后: 

@PostMapping("/login")
    public Result login(@RequestBody User user){
        List list = userService.lambdaQuery()
                .eq(User::getUsername,user.getUsername())
                .eq(User::getPassword,user.getPassword()).list();

        return list.size()>0?Result.suc(list.get(0)):Result.fail();
    }

原因是我的Result.suc()

public class Result {
    private int code;//编码200/400
    private String msg;//成功、失败
    private Long total;//总记录
    private Object data;//数据
    public   static Result fail(){
        return result(400,"失败",0L,null);
    }
    public  static Result suc(){
        return result(200,"成功",0L,null);
    }
    public  static Result suc(Object data){
        return result(200,"成功",0L,data);
    }
    public  static Result suc(Object data,Long total){
        return result(200,"成功",total,data);
    }
    public static Result result(int code,String msg,Long total,Object data){
        Result res =new Result();
        res.setData(data);
        res.setMsg(msg);
        res.setCode(code);
        res.setTotal(total);
        return res;

    }
}

这里默认的是null,不传参就默认为null了

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值