乖乖流氓兔 发表于 2024-10-20 23:42:16

第38篇 net8接口调试方式

.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过期,则生成新的token
          SsoUser 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内容

返回结果


来源:https://www.cnblogs.com/chenshibao/p/18487583
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 第38篇 net8接口调试方式