开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot):根据 token 获取用户信息(接口)】学习笔记,与课程紧密连接,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/667/detail/11450
根据 token 获取用户信息(接口)
内容介绍:
一、在 MemberApiController 中创建方法
二、创建 service
三、创建接口
一、在 MemberApiController 中创建方法
@ApiOperation (value -“根据token获职登录信息")
@GetMapping("" auth/getLoginInfo")
public R getLoginInfo(HttpServletRequest request){
try {
StringmemberId-JwtUtils. getMemberIdByJwtToken(request);
LoginInfoVo loginInfoVo - memberService.getLoginInfo(memberId);
return R.ok () . data(""item” ,loginInfoVo);
}catch(Exception e){
e .printStackTrace(;
thraw new GuliException(28001,""error");
}
}
二、创建 service
@
Override
public LoginInfovo getLoginInfo(String memberId) {
M
ember member - bas eMlapper.selectById(memberId);
LoginInfovo loginInfovo - new LoginInfoVo
()
;
Beanutils .copyProperties (member,loginInfovo);
return loglnInfoVo;
}
三、创建接口
登录过后生成的 token 数据字符串,字符串中包含用户信息,这一串数据要通过路径返回到前端页面上。
接口的目的就是根据 token 字符串得到用户数据,并在前端页面显示。
//根据 token 获取用户信息
GetMapping("getMemberInfo")
/
/
传入r
equest
对象
public R getMemberInfo(HttpServletRequest request){
//调用jwt工县类的方法。根据request对象获取头信息,返回用户id
StringmemberId= JwtUtils.getMember
i
dByJwtToken(request) ;
//查询数据库根据用户id获取用户信息
UcenterMembermember=memberService. getById(memberId);
return R.ok( . data("userInfo" , member) ;
}