根据 token 获取用户信息(接口) | 学习笔记

简介: 快速学习根据 token 获取用户信息(接口)

开发者学堂课程【微服务+全栈在线教育实战项目演练(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) {

Member member - bas eMlapper.selectById(memberId);

LoginInfovo loginInfovo - new LoginInfoVo();

Beanutils .copyProperties (member,loginInfovo);

return loglnInfoVo;

}


三、创建接口

登录过后生成的 token 数据字符串,字符串中包含用户信息,这一串数据要通过路径返回到前端页面上。

接口的目的就是根据 token 字符串得到用户数据,并在前端页面显示。

//根据 token 获取用户信息

GetMapping("getMemberInfo")

//传入request对象

public R getMemberInfo(HttpServletRequest request){

//调用jwt工县类的方法。根据request对象获取头信息,返回用户id

StringmemberId= JwtUtils.getMemberidByJwtToken(request) ;

//查询数据库根据用户id获取用户信息

UcenterMembermember=memberService. getById(memberId);

return R.ok( . data("userInfo" , member) ;

}

相关文章
|
4月前
|
存储 算法 Java
深入理解 PHP 的 `unset()`:你真的释放内存了吗?
深入理解 PHP 的 `unset()`:你真的释放内存了吗?
421 83
|
弹性计算 缓存 负载均衡
ECS性能优化建议
ECS性能优化建议
687 3
|
存储 JSON 数据库
Elasticsearch通关教程(一): 基础入门
简介 Elasticsearch是一个高度可扩展的、开源的、基于 Lucene 的全文搜索和分析引擎。它允许您快速,近实时地存储,搜索和分析大量数据,并支持多租户。 Elasticsearch也使用Java开发并使用 Lucene 作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的 RESTful API 来隐藏 Lucene 的复杂性,从而让全文搜索变得简单。
13481 1
|
云安全 负载均衡 网络协议
阿里云waf简介和如何配置​
阿里云WAF(Web应用程序防火墙)是一种高效、智能的云安全服务,旨在保护Web应用程序免受各种网络攻击的威胁。它可防止诸如SQL注入、跨站点脚本(XSS)和跨站点请求伪造(CSRF)等攻击,有效保障了Web应用程序的安全性与稳定性。 阿里云WAF在Web应用程序与互联网之间构建一道安全屏障,通过拦截和检测恶意流量,防止攻击者对您的Web应用程序进行攻击。它不仅覆盖了常见的网络攻击类型,还针对新兴的攻击手段进行了防护设计,确保您的Web应用程序在面对各种威胁时都能得到全方位的保护。
|
8月前
|
容器
鸿蒙开发:相对布局RelativeContainer
当然了,RelativeContainer组件还有着其它的属性,但是最重要的也就是位置的摆放,其实也就是相对于锚点组件的摆放;通过上述的案例,我们不难发现,所谓的左上右下,反着来就是对的,比如在锚点上边,我用bottom,在锚点下面,我用top,在实际的开发中,可极大节约我们的开发时间。
191 4
鸿蒙开发:相对布局RelativeContainer
|
8月前
|
JavaScript 前端开发 API
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
机器学习/深度学习 监控 算法
现货量化交易机器人系统开发策略逻辑及源码示例
现货量化交易机器人系统是一种基于计算机算法和数据分析的自动化交易工具。该系统通过制定交易策略、获取和处理数据、生成交易信号、执行交易操作和控制风险等环节,实现高效、精准的交易决策。系统架构可采用分布式或集中式,以满足不同需求。文中还提供了一个简单的双均线策略Python代码示例。
|
JavaScript API
模块化妙用!用vue3实现一个鼠标追踪器和异步加载组件
该文章展示了如何使用Vue3的Composition API实现鼠标追踪器功能,并介绍了创建异步加载组件的方法,利用TS泛型增强了组件的灵活性与可维护性。
|
机器学习/深度学习 自然语言处理 监控
自然语言处理技术有哪些
【7月更文挑战第30天】自然语言处理技术有哪些
1334 10
|
JavaScript
【Axure】axure rp 导入元件库和使用,主流元件库下载使用
【Axure】axure rp 导入元件库和使用,主流元件库下载使用
2659 1