當前位置: 妍妍網 > 碼農

簡化.NET開發,擁抱清爽的MiniAPI方法

2024-06-27碼農

.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`中,我們透過以下程式碼塊,快速配置服務和中介軟體:


```csharpvar 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 classSysUserController : ControllerBase{// 登入和Token檢測方法...}```


這種開發方式適用於大多數中小公司計畫,它直觀、簡潔,易於管理和擴充套件。對於新手而言,這種結構清晰的計畫框架也更易於學習和理解。
隨著.NET生態的不斷豐富,開發者應該避免重復造輪子,利用現有的開源資源和庫。記住,技術應該服務於業務,而不是為了技術本身。