using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Http; using EasyTemplate.Service.Common; using EasyTemplate.Tool.Entity; using Microsoft.AspNetCore.Components; using EasyTemplate.Tool; using static EasyTemplate.Tool.Entity.PublicEnum; namespace EasyTemplate.Service; [ApiGroup(ApiGroupNames.System)] public class SystemUserService : BaseService { /// /// /// private readonly SqlSugarRepository _user; /// /// /// private readonly IHttpContextAccessor _contextAccessor; public SystemUserService(IHttpContextAccessor contextAccessor, SqlSugarRepository user) { _contextAccessor = contextAccessor; _user = user; } /// /// 多语言、单一接口的多种请求方式 /// /// [HttpPost] [HttpPost("/api/v1/[Controller]/[Action]")] [HttpGet("/api/v2/[controller]/[action]")] [AllowAnonymous] public async Task Test() { //前端寫入語言 _contextAccessor.HttpContext.Request.Headers.ContentLanguage = "en-US"; //接口處理語言 var list = _user.AsQueryable().ToList(); var aaa = _contextAccessor.HttpContext.Request.Headers.Authorization; return list; } /// /// 友好异常 /// /// public async Task TestException() { _contextAccessor.HttpContext.Request.Headers.ContentLanguage = "en-US"; throw Oops.Oh(ErrorCode.E1000); throw Oops.Oh("123123123123"); } /// /// 黏土类型 /// /// /// [HttpPost] public async Task TestClay() { var obj = Clay.Object(); obj.Id = 1; obj["Name"] = "test"; obj.Data = new string[] { "test", "t" }; return obj; } }