登录注册接口的实现
- 共通的实现
- 三步走,pom,yml加启动类,代码生成器生成
- 创建Vo实体类,构造swagger呈现方式
- 创建controller类,Post实现登录,注册接口
- Service调用,注意将Vo实体类注入 String token = memberService.login(loginVo);
memberService.register(registerVo);
- Impl继承实现
- 登录实现
- 实现方法中的member中有用户的数据,运用member.的方法调用,获取登录的手机号跟密码
- 用if判断,手机号跟密码是否为空,为空的话,输出20001失败
- 判断手机后是否正确:
- 用wrapper.eq的方式,调取数据库mobile的数据,用baseMapper.select(wrapper),将数据调入方法中
- 判断查询对象是否为空:用if(mobilemember == null)的方法,进行判断
- 判断密码:注意md5加密即可
- 最后生成token字符串,并用jwt工具类:
String token = JwtUtils.getJwtToken(member.getId(), member.getNickname()); return token;
- 注册实现
- 获取注册的数据:与Vo类相关联,register.Vo 方法分别调用手机号,昵称跟密码
- 判断手机号是否重复,如果重复则无法注册成功:用wrapper.eq的方式,调取数据库mobile的数据,用baseMapper.select(wrapper),将数据调入方法中,然后用if进行判断,如果count>0则注册失败,属于有重复的
- 最终将数据添加进入数据库:根据前面Vo类关联的数据,member.getxxx(voxxx)的形式导入数据库,最红basemapper.insert(member)进入数据库
- 根据token获取用户信息
- 由于在swagger中最终实现是传出一个token值,这个值中包含了这个登录用户的所有信息内容,所以为了之后的操作(在前端的呈现),创建一个接口,专门对这个token值进行操作。
- 在common公共类中,创建一个jwtutils公共资源类,根据官网的代码进行复制粘贴,实现一个可以用于token传输的工具包
- 结合在登录接口中的seviceimpl中,最终登录成功后,使用jwt工具类生成了一个token字符串,故从这方面下手
- 由于是请求数据,故getmapping生成接口。用jwtutils.getmember方式通过调用jwt工具类,根据request对象获取头信息,返回用户id
- 用memberservice.getbyid(memberid)查询用户id获取用户信息。
- 最终通过token值获得数据库信息用于调用的目的得到实现、