Minimal API 是 .net 6 引入的极简 Web API 开发方式,无需 Controller 和类库结构,几行代码即可运行接口服务,适用于原型开发、微服务及轻量后台。

Minimal API 是 .NET 6 引入的极简 Web API 开发方式,不用写 Controller、不用定义类库结构,几行代码就能跑起一个可访问的接口服务。它适合快速验证逻辑、搭建微服务、做原型或轻量后台。
创建 Minimal API 项目
用 CLI 最快:打开终端,执行
dotnet new web -n MyApi
cd MyApi
dotnet run
项目默认监听 http://localhost:5000 和 https://localhost:5001,浏览器打开就能看到 “Hello World!”。
注意:新建时别勾选 “Use Controllers”,否则会生成传统 Web API 模板。
定义基础路由和响应
打开 Program.cs,你会看到类似这样的结构:
var app = Webapplication.Create(args);
app.MapGet(“/”, () => “Hello World!”);
app.Run();
常用方法有:
- MapGet:处理 GET 请求(如获取数据)
- MapPost:处理 POST 请求(如提交 jsON)
- MapPut / MapDelete:对应更新和删除
参数自动绑定规则:
- 简单类型(String、int、Guid等)→ 默认从 query 或 route 获取
- 复杂类型(如 User 类)→ 默认从 request body 解析 json
- 想强制指定来源?加特性,比如 [FromQuery]、[FromBody]、[FromRoute]
接入依赖注入和服务
Minimal API 完全支持 .NET 的 DI 容器。先在 builder.Services 中注册服务,再在 handler 中通过参数注入:
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddScoped
var app = builder.Build();
app.MapGet(“/users”, ([FromServices] IUserService service) => service.GetUsers());
也可以直接用 [FromServices] 标记参数,框架自动从容器解析。
加 Swagger 文档(调试友好)
开发阶段建议加上 Swagger,方便查看和测试接口:
在 builder.Services 部分添加:
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
在 app 部分添加:
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}
运行后访问 /swagger 就能看到自动生成的文档页面。
基本上就这些——没控制器、不写 Startup、不配路由表,写完保存就能跑。越小的项目,Minimal API 越省事;等接口多了,再拆到独立文件或按模块组织也不难。