翼度科技»论坛 编程开发 .net 查看内容

第38篇 net8接口调试方式

6

主题

6

帖子

18

积分

新手上路

Rank: 1

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

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

2.封装好jwt验证机制
  1. token令牌验证机制
  2.   /// <summary>
  3.   /// 登录
  4.   /// </summary>
  5.   /// <param name="request"></param>
  6.   /// <returns></returns>
  7.   /// <exception cref="NotImplementedException"></exception>
  8.   public async Task<UserResponse> LoginAsync(UserInfoRequest request)
  9.   {
  10.           UserResponse userResponse = null;
  11.           UserInfoVo user = await _userRepository.GetUserInfoByUserCodeAsync(request.UserCode);
  12.           if (user == null)
  13.           {
  14.                   throw new Exception("用户名不存在");
  15.           }
  16.           if (user.Status == -1)
  17.           {
  18.                   throw new Exception("账户被锁定");
  19.           }
  20.           if (user.UserPassword != AesHelper.Encrypt(request.UserPassword))
  21.           {
  22.                   throw new Exception("用户名或密码不正确");
  23.           }
  24.           //判断redis里是否已经存在当前患者
  25.           CurrentUser currentUser = await _userRepository.GetCurrentUserAsync(user.UserCode);
  26.           //如果已经存在,并且token没有过期,则不用生成新的token,直接将redis里的进行返回
  27.           if (currentUser != null && DateTime.Now < currentUser.ExpireTime)
  28.           {
  29.                   return currentUser.Adapt<UserResponse>();
  30.           }
  31.           //如果不存在或者token过期,则生成新的token
  32.           SsoUser ssoUser = new SsoUser()
  33.           {
  34.                   UserCode = user.UserCode,
  35.                   UserName = user.UserName,
  36.           };
  37.           String token = await _jwtService.BuildToken(ssoUser);
  38.           await _userRepository.DelCurrentUserAsync(ssoUser.UserCode);
  39.           currentUser = new CurrentUser()
  40.           {
  41.                   UserCode = ssoUser.UserCode,
  42.                   UserName = user.UserName,
  43.                   Token = token,
  44.                   ExpireSeconds = _jwtConfig.ExpireSeconds,
  45.                   ExpireTime = DateTime.Now.AddSeconds(_jwtConfig.ExpireSeconds)
  46.           };
  47.           await _userRepository.SetCurrentUserAsync(currentUser, _jwtConfig.ExpireSeconds);
  48.           userResponse = new UserResponse()
  49.           {
  50.                   Token = token,
  51.                   UserCode = user.UserCode,
  52.                   UserName = user.UserName,
  53.                   ExpireSeconds = _jwtConfig.ExpireSeconds,
  54.           };
  55.           return userResponse;
  56.           }
复制代码
3.调试

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

HttpGet方式


调用内置接口调试方式

外部接口调用工具:

HttpPost方式

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

返回结果


来源:https://www.cnblogs.com/chenshibao/p/18487583
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具