Minimal APIs是.NET 6引入的轻量级Web API构建方式,允许在Program.cs中直接定义路由和处理逻辑,无需控制器和启动类,仅需几行代码即可创建HTTP服务。它基于ASP.NET Core底层功能,语法简洁,支持依赖注入、中间件、模型绑定、验证和OpenAPI等完整特性。使用dotnet new web命令可快速创建项目,通过MapGet、MapPost等方法添加路由,自动支持参数解析与JSON绑定。适用于小型REST接口、微服务、原型开发或学习场景,虽结构简单但功能完备,适合追求高效开发的场景。

Minimal APIs 是 C# 中一种用于构建轻量级 Web API 的简洁方式,首次在 .NET 6 中正式引入。它让开发者无需依赖复杂的项目结构或大量配置代码,就能快速创建 HTTP 服务。特别适合小型服务、微服务或原型开发。
什么是 Minimal APIs?
Minimal APIs 允许你在 Program.cs 文件中直接定义路由和处理逻辑,省去了传统 ASP.NET Core 中的控制器(Controller)、启动类(Startup)等冗余结构。整个 API 只需几行代码即可运行。
它基于 ASP.NET Core 的底层功能,但使用更简单的语法,完全支持依赖注入、中间件、模型绑定、验证和 OpenAPI(Swagger)等功能。
如何创建一个 Minimal API?
使用 .NET 6 或更高版本,可以通过以下步骤快速搭建:
1. 创建项目运行命令:
dotnet new web -n MyApi
2. 查看 Program.cs
你会看到非常简洁的代码:
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "Hello World!");
app.Run();
这段代码就创建了一个响应根路径 GET 请求的 API。
3. 添加更多路由
你可以轻松扩展 API 接口:
app.MapGet("/user/{id}", (int id) => $"User {id}");
app.MapPost("/save", (UserData data) => Results.Ok("Saved"));
其中 UserData 会自动绑定请求体(JSON),并支持验证。
支持的功能有哪些?
尽管叫“Minimal”,但它并不“简陋”。以下是常用功能支持情况:
- 路由:支持 GET、POST、PUT、DELETE 等方法,带参数绑定
- 模型绑定:自动从 JSON、表单、查询字符串中解析数据
- 验证:可结合 Data Annotations 或 FluentValidation
- 依赖注入:可通过 builder.Services.Add... 注册服务
- 中间件:如认证、CORS、日志等均可通过 app.Use... 添加
- OpenAPI 支持:集成 Swashbuckle 后自动生成文档
适合用在哪些场景?
Minimal APIs 特别适合:
- 构建小型 REST 接口或内部工具 API
- 微服务架构中的独立小服务
- 学习 ASP.NET Core 或快速验证想法
- 函数式风格的服务,减少样板代码
如果你需要复杂分层、大量控制器或高度结构化设计,传统 MVC 模式可能仍更合适。
基本上就这些。Minimal APIs 让 C# 开发轻量级后端变得更简单、更直观。不复杂但容易忽略细节,比如绑定规则或错误处理,用好它能大幅提升开发效率。










