代码拉取完成,页面将自动刷新
🔥自动api,让你的代码更加简洁🔥。如果你的控制器层只是像以下这种,转发了业务层的代码,那么自动api将非常适合您的项目。自动api会直接根据你业务层的方法,结合restful规范动态生成控制器。
控制器只做转发,没有做任何事情,形成了大量的冗余代码
public class UserController:ControllerBase
{
private readonly IUserAppService _userAppService;
public UserController(IUserAppService userAppService)
{
_userAppService=userAppService;
}
[HttpGet]
public async Task<PageResult<List<xxxDto>>> GetListAsync(xxxDto input)
{
return await _userAppService.GetListAsync(input);
}
[HttpPost]
public async Task<xxxDto> CreateAsync(xxxDto input)
{
return await _userAppService.CreateAsync(input);
}
[HttpPost]
public async Task<xxxDto> UpdateAsync(Guid id,xxxDto input)
{
return await _userAppService.UpdateAsync(id,input);
}
}
dotnet add package Cike.AutoApi
Program.cs
中添加以下两段代码//放在AddController或者AddMvc后面
builder.Services.AddAutoApiService(opt =>
{
//NETServiceTest所在程序集添加进动态api配置
opt.CreateConventional(typeof(NETServiceTest).Assembly);
});
IAutoApiService
接口就行 public class TestService : IAutoApiService
{
public async Task<List<string>> CreateAsync(TestCreateUpdateInput input)
{
return new List<string>
{
$"{input.Code}|{input.Name}"
};
}
public async Task<string> GetListAsync(string keyword)
{
return keyword;
}
public async Task<List<string>> UpdateAsync(Guid id, TestCreateUpdateInput input)
{
return new List<string>
{
$"{id}|{input.Code}|{input.Name}"
};
}
/// <summary>
/// 文件流使用,上传的时候正常传到报文体内就行了
/// </summary>
/// <param name="file"></param>
/// <returns></returns>
public async Task<string> ImportAsync(IAutoApiStreamContent file)
{
using var fileStream = file.GetStream();
return file.FileName;
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。