第38篇 net8接口调试方式

news/2024/10/20 19:11:59

.net提供了内置的接口调试方式

1.新建.net core web api控制台应用程序

2.封装好jwt验证机制

token令牌验证机制/// <summary>/// 登录/// </summary>/// <param name="request"></param>/// <returns></returns>/// <exception cref="NotImplementedException"></exception>public async Task<UserResponse> LoginAsync(UserInfoRequest request){UserResponse userResponse = null;UserInfoVo user = await _userRepository.GetUserInfoByUserCodeAsync(request.UserCode);if (user == null){throw new Exception("用户名不存在");}if (user.Status == -1){throw new Exception("账户被锁定");}if (user.UserPassword != AesHelper.Encrypt(request.UserPassword)){throw new Exception("用户名或密码不正确");}//判断redis里是否已经存在当前患者CurrentUser currentUser = await _userRepository.GetCurrentUserAsync(user.UserCode);//如果已经存在,并且token没有过期,则不用生成新的token,直接将redis里的进行返回if (currentUser != null && DateTime.Now < currentUser.ExpireTime){return currentUser.Adapt<UserResponse>();}//如果不存在或者token过期,则生成新的tokenSsoUser ssoUser = new SsoUser(){UserCode = user.UserCode,UserName = user.UserName,};String token = await _jwtService.BuildToken(ssoUser);await _userRepository.DelCurrentUserAsync(ssoUser.UserCode);currentUser = new CurrentUser(){UserCode = ssoUser.UserCode,UserName = user.UserName,Token = token,ExpireSeconds = _jwtConfig.ExpireSeconds,ExpireTime = DateTime.Now.AddSeconds(_jwtConfig.ExpireSeconds)};await _userRepository.SetCurrentUserAsync(currentUser, _jwtConfig.ExpireSeconds);userResponse = new UserResponse(){Token = token,UserCode = user.UserCode,UserName = user.UserName,ExpireSeconds = _jwtConfig.ExpireSeconds,};return userResponse;}

3.调试

3.1 启动应用程序,调佣接口

HttpGet方式


调用内置接口调试方式

外部接口调用工具:

HttpPost方式

外部接口调用工具:
请求body内容

返回结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/73902.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

使用MySQL之用正则表达式进行搜索

1. 正则表达式介绍 正则表达式是用来匹配文本的特殊的串(字符集合)。 如果你想从一个文本文件中提取电话号码,可以使用正则表达式。 如果你需要查找名字中间有数字的所有文件,可以使用一个正则表达式。 如果你想在一个文本块中找到所有重复的单词,可以使用一个正则表达式。…

20242822《Linux内核原理与分析》第四周作业

实验三——跟踪分析Linux内核的启动过程 1.使用实验楼的虚拟机打开shell并使用命令启动内核进入menu程序 qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.imgqemu:这是 QEMU 模拟器,用来启动虚拟机的命令。-kernel linux-3.18.6/arch/x86/boot/bzImage:指…

如2024-2025 20241425 《计算机基础与程序设计》第4周学习总结

作业信息这个作业属于哪个课程 https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP这个作业要求在哪里 https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP/homework/13276这个作业的目标 1、门电路 2、组合电路,逻辑电路 3、冯诺依曼结构 4、CPU,内存,IO管理 5、…

视野修炼第106期 | Node23新特性

① Node23 发布 ② Recce - 如何突破动态化容器的天花板 ③ 上网的糟糕感受 ④ 如何设定超过25天的定时器 ⑤ 快速预览目标链接在各种社交软件的展示 ⑥ 为网站添加气球 ⑦ VItePress 中预览组件 ⑧ 哔哩哔哩:基于源码的可视化编辑方案 ⑨ 图片主色提取 ⑩ 使用 TS 约束正则表…

FPGA时序约束基础

一、时序约束的目的 由于实际信号在FPGA内部期间传输时,由于触发器等逻辑期间并非理想期间,因此不可避免地存在传输延时,这种延迟在高速工作频率、高逻辑级数时会造成后级触发器地建立时间和保持时间不满足,造成时序违例。(这也是为什么需要把FPGA设计不能以高级编程语言思…

CSS基础速刷 - 非布局样式(未完待续)

全称:Cascading Style Sheet2. 选择器选择器 { 属性:值; 属性:值; } 选择器用于匹配HTML元素,有不同的匹配规则,多个选择器可以叠加。 浏览器解析CSS选择器方式和我们写选择器的方式是相反的:从右往左选择器分类伪元素(双冒号)是真实存在的元素,可以被显示出来的元素…

Using MATLAB with CANoe 快读

近期领导交给了一个非常有意思的任务:尝试实现在不同工况下的HSI测试,并给了Matlab这个提示。当然我并不实现交互的具体算法,但是要懂得Matlab接口的测试调用和上层General测试框架的搭建。 资料来源:Using MATLAB with CANoe 1.0 Overview 目的是为了拓展CANoe的Node功能…

Linux宝塔面板安装Windows环境搭建企业

宝塔面板是一款非常流行的服务器管理软件,支持多种操作系统,包括Linux。以下是基于CentOS系统的宝塔面板安装步骤: 1. 检查系统环境确保您的服务器操作系统为CentOS 7.x 或更高版本。 确保服务器有公网IP地址。2. 关闭防火墙(可选) 3. 安装宝塔面板打开终端或SSH连接到您的…