ToB企服应用市场:ToB评测及商务社交产业平台

标题: 第38篇 net8接口调试方式 [打印本页]

作者: 风雨同行    时间: 2024-10-20 19:10
标题: 第38篇 net8接口调试方式
.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内容

返回结果


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4