简化.NET开发,拥抱清爽的MiniAPI方法

.NET开发的世界中,项目模板和开源解决方案往往显得复杂和臃肿。本文将介绍一种利用.NET 6的MiniAPI特性,以一种更清爽、更直观的方式开发API的方法。

.NET开发社区一直在寻求更高效、更简洁的开发实践。随着.NET 6的发布,MiniAPI特性为简化API开发提供了新的可能性。

官方提供的MiniAPI快速参考文档,为开发者提供了一个轻量级的起点。然而,本文将探讨一种更为直接的野路子方法,它基于控制台应用程序改造,以适应国内开发环境。

在模拟一个普通企业官网API的场景中,我们的需求包括:
- 数据库操作
- 授权鉴权
- Swagger文档生成
- 文件上传支持


针对这些需求,我们选择了以下核心组件:
Swashbuckle.AspNetCore:为API生成Swagger文档。
SqlSugarCore:一个ORM工具,简化数据库操作。
Microsoft.AspNetCore.Authentication.JwtBearer:简化JWT授权鉴权。
Mapster:简化DTO和Entity之间的转换。

在项目文件中,将`<Project Sdk="Microsoft.NET.Sdk">`更改为`<Project Sdk="Microsoft.NET.Sdk.Web">`,以启用Web项目特有的配置。


在`Program.cs`中,我们通过以下代码块,快速配置服务和中间件:

```csharp
var builder = WebApplication.CreateBuilder(args);
// 基本设置
builder.Services.AddControllers();
builder.Services.Configure<FormOptions>(options =>
{
    options.MultipartBodyLengthLimit = 268435456; // 设置上传大小限制为256MB
});
// 授权鉴权配置
builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
    .AddJwtBearer(tokenValidationParameters =>
    {
        // JWT配置...
    });
// Swagger配置
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen(c =>
{
    c.SwaggerDoc("v1", new OpenApiInfo { Title = "企业官网Api", Version = "v1" });
    // Swagger配置...
});
var app = builder.Build();
// 使用SwaggerUI等中间件...
app.Run();
```


在API文件夹中,创建控制器类,例如`SysUserController`,实现具体的业务逻辑:

```csharp
[ApiController]
[Route("api/[controller]")]
public class SysUserController : ControllerBase
{
    // 登录和Token检测方法...
}
```


这种开发方式适用于大多数中小公司项目,它直观、简洁,易于管理和扩展。对于新手而言,这种结构清晰的项目框架也更易于学习和理解。

随着.NET生态的不断丰富,开发者应该避免重复造轮子,利用现有的开源资源和库。记住,技术应该服务于业务,而不是为了技术本身。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值