美文网首页
2023-12-26获取用户信息完成

2023-12-26获取用户信息完成

作者: 大也 | 来源:发表于2024-01-02 09:02 被阅读0次

注意点 1.这里是通过 redis 缓存 拿到 用户的 和当时 springboot 使用 jwtHelper 的形式不一样 自己 在写一遍的时候注意比较 完善 用哪种方式

  1. 注意 第二种方式获取参数 底子薄 第二种应该是 最原始的方式 HttpServletRequest
image.png
image.png
image.png

前端代码修改

1.controller

/**
* 地址: user/getUserInfo
* 方式: get
* 请求头: token = token内容
*
* 大概流程:
* 1.获取token,解析token对应的userId
* 2.根据userId,查询用户数据
* 3.将用户数据的密码置空,并且把用户数据封装到结果中key = loginUser
* 4.失败返回504 (本次先写到当前业务,后期提取到拦截器和全局异常处理器)
/
@GetMapping(value = "/getUserInfo")
public Result<SysUser> getUserInfo(@RequestHeader(name = "token") String token) {
/
* 这种方式获取token 也可以
public Result<SysUser> getUserInfo(HttpServletRequest request) {
String token = request.getHeader("token");}
* */
SysUser sysUser = sysUserService.getUserInfo(token) ;
return Result.build(sysUser , ResultCodeEnum.SUCCESS) ;
}

2.server
/**
* 根据用户名查询用户数据
* @return
*/
SysUser getUserInfo(String token);

2.serverImpl
/** 另一种解法
* 大概流程:
* 1.获取token,解析token对应的userId
* 2.根据userId,查询用户数据
* 3.将用户数据的密码置空,并且把用户数据封装到结果中key = loginUser
* 4.失败返回504 (本次先写到当前业务,后期提取到拦截器和全局异常处理器)
这种事直接根据redisTemplate.opsForValue 获取用户
*/

@Override
public SysUser getUserInfo(String token) {

    String userJson = redisTemplate.opsForValue()
            .get("user:login"+token);

    SysUser sysUser = (SysUser) JSON.parseObject(userJson,SysUser.class);

    return sysUser;
}

相关文章

网友评论

      本文标题:2023-12-26获取用户信息完成

      本文链接:https://www.haomeiwen.com/subject/kwpkndtx.html