添加登录功能
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
using Apimanager_backend.Dtos;
|
||||
using Apimanager_backend.Exceptions;
|
||||
using Apimanager_backend.Services;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace Apimanager_backend.Controllers
|
||||
{
|
||||
[Route("api/[controller]")]
|
||||
[ApiController]
|
||||
public class UserController : ControllerBase
|
||||
{
|
||||
private readonly IUserService userService;
|
||||
public UserController(IUserService userService)
|
||||
{
|
||||
this.userService = userService;
|
||||
}
|
||||
/// <summary>
|
||||
/// 用户登录控制器
|
||||
/// </summary>
|
||||
/// <param name="dto">登录信息</param>
|
||||
/// <returns>通用返回信息格式</returns>
|
||||
[HttpPost("Login")]
|
||||
public async Task<ActionResult<ResponseBase<UserInfoDto>>> Login([FromBody]UserLoginDto dto)
|
||||
{
|
||||
try
|
||||
{
|
||||
UserInfoDto user = await userService.LoginAsync(dto.UserName, dto.Password);
|
||||
|
||||
var responseInfo = new ResponseBase<UserInfoDto>(
|
||||
code: 2000,
|
||||
message: "Login successful",
|
||||
data: user
|
||||
);
|
||||
return Ok(responseInfo);
|
||||
}
|
||||
catch (BaseException e)
|
||||
{
|
||||
|
||||
//错误时,构建错误信息对象
|
||||
var responseInfo = new ResponseBase<object?>(
|
||||
code:e.code,
|
||||
message: e.message,
|
||||
data: null
|
||||
);
|
||||
|
||||
return Unauthorized(responseInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user