上一篇文章给大家分享了
.NET 10 New feature 新增功能介绍-Minimal APIs增强
今天继续分享, Minimal APIs 主要应用场景
在 .NET 6–8 中,Minimal APIs 已经完成了“能用”阶段;
.NET 9–10 的目标非常明确:让 Minimal APIs 成为企业级 API 的一等公民。
核心增强方向可以概括为四个关键词:
可维护、可治理、可扩展、可工程化
具体体现在以下能力成熟度提升:
更强的类型系统支持(Typed Results / OpenAPI 对齐)
更完善的过滤器与中间件组合能力
与 DI、Validation、Authorization 的深度融合
对 API 分层、模块化、规模化的原生支持
我们继续对比思考传统 Controller 模型的典型问题:
Minimal APIs 增强后的核心应用场景总结
场景一:高并发读接口(数据服务 / 智能问数 / 看板接口)
首先是更强 Typed Results,彻底消除“返回不确定性”
app.MapGet("/stations/{id}",asyncTask<Results<Ok<StationDto>, NotFound, ProblemHttpResult>>(longid, IStationService service) =>{varstation =awaitservice.GetAsync(id);returnstationisnull?TypedResults.NotFound() : TypedResults.Ok(station); });
这保证了
OpenAPI 文档100% 精确
AI / 前端 / SDK 自动生成零歧义
不再需要 [ProducesResponseType]
极致轻量,避免 Controller 反射 & Filter 链成本,在高 QPS 场景
Minimal APIs:
路由直接绑定 Delegate
少一层 MVC 管道
对 CPU 与内存友好
只读接口 + 高频接口,优先 Minimal APIs
场景二:业务能力型 API
典型问题(Controller 模式)
业务规则散落在 Attribute / Filter / Action
授权、校验、审计难以统一.
NET 10 的解决方式:Endpoint Filter 工程化统一业务能力过滤器
publicclassOperatorContextFilter : IEndpointFilter {publicasyncValueTask<object?>InvokeAsync( EndpointFilterInvocationContext ctx, EndpointFilterDelegate next) {//解析运营商上下文OperatorContext.Current =Resolve(ctx.HttpContext);returnawaitnext(ctx); } }
应用到业务 API
app.MapGroup("/api/charge") .AddEndpointFilter<OperatorContextFilter>() .RequireAuthorization("OperatorPolicy") .MapPost("/start", StartCharge);
场景三:平台级 API 模块化
我们可以按业务域拆分 API,而不是 Controller:
publicstaticclassStationEndpoints {publicstaticIEndpointRouteBuilder MapStation(thisIEndpointRouteBuilder app) {vargroup = app.MapGroup("/api/station") .RequireAuthorization(); group.MapGet("/{id}", GetStation); group.MapPost("/", CreateStation);returnapp; } }
Program.cs 极其灵活、简单做集成即可,这可以实现多业务线并行开发
app.MapStation();
app.MapOrder();
app.MapCharge();
app.MapFinance();
场景四:内部微服务 / AI Agent 接口(非传统 REST)
Minimal APIs 在 .NET 10 中,非常适合做 Agent Tool 接口:
app.MapPost("/agent/charge/analyze",async(ChargeAnalyzeRequest req, IChargeAnalyzer analyzer) =>{returnTypedResults.Ok(awaitanalyzer.AnalyzeAsync(req)); });
场景五:BFF / API Gateway 层
使用 Minimal APIs 可以实现
聚合多个下游接口、业务逻辑编排
DTO 转换 + 协议适配
极致简洁
app.MapGet("/bff/station/{id}",async(longid, IStationApi api, IPriceApi priceApi) =>{varstation =awaitapi.Get(id);varprice =awaitpriceApi.GetPrice(id);returnTypedResults.Ok(newStationView(station, price)); });
以上是.NET 10 中 Minimal APIs 主要应用场景的总结和分享。
周国庆
2026/1/12