创建登录控制器接口
image.png
using Interface;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Model.Dto.User;
using WebApi.Config;
using WebModel.Other;
namespace WebApi.Controllers
{
/// <summary>
/// 登录控制器
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class LoginController : ControllerBase
{
private IUserService _userService; // 用户信息
private ICustomJWTService _jwtService;// token
/// <summary>
/// 构造类
/// </summary>
/// <param name="userService"></param>
/// <param name="jwtService"></param>
public LoginController(IUserService userService, ICustomJWTService jwtService)
{
_userService = userService;
_jwtService = jwtService;
}
/// <summary>
/// 登录用户
/// </summary>
/// <param name="name">用户名</param>
/// <param name="password">密码</param>
/// <returns></returns>
[HttpGet]
public async Task<ApiResult> GetToken(string name, string password)
{
var res = Task.Run(() =>
{
if(string.IsNullOrEmpty(name) || string.IsNullOrEmpty(password))
{
return ResultHelper.Error("参数不能为空");
}
UserRes user = _userService.GetUser(name, password);
if (string.IsNullOrEmpty(user.Name))
{
return ResultHelper.Error("账号不存在,用户名或密码错误!");
}
return ResultHelper.Success(_jwtService.GerToken(user));
});
return await res;
}
}
}
- 运行项目 得到 token
image.png
- 好了 简单的项目搭建就到这里了