JAVA全系列 教程
3762个小节阅读:7091.2k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
在用户服务模块编写用户服务接口实现类
xxxxxxxxxx
@Override
public String getName(String token) {
Map<String, Object> map = JwtUtils.verify(token);
String username = (String) map.get("username");
return username;
}
@Override
public ShoppingUser getLoginUser(String token) {
// 从令牌中获取用户id
Map<String, Object> map = JwtUtils.verify(token);
Long userId = (Long) map.get("userId");
// 根据id查询用户
QueryWrapper<ShoppingUser> queryWrapper = new QueryWrapper();
queryWrapper.eq("id", userId);
ShoppingUser shoppingUser = shoppingUserMapper.selectOne(queryWrapper);
return shoppingUser;
}
在用户API模块编写控制器
xxxxxxxxxx
/**
* 获取登录的用户名
* @param authorization 令牌
* @return 用户名
*/
@GetMapping("/getName")
public BaseResult<String> getName(@RequestHeader("Authorization") String authorization){
String token = authorization.replace("Bearer ","");
String name = shoppingUserService.getName(token);
return BaseResult.ok(name);
}
使用Postman测试控制器
后端无需编写退出登录功能,前端删除令牌即可退出登录。