首页 新闻 会员 周边 捐助

ASP.NET Core: Startup + IApplicationBuilder 的场景如何配置 Minimal API

0
悬赏园豆:30 [已解决问题] 解决于 2025-11-15 17:39

一个 ASP.NET Core 项目中依然用的是 Program + Startup,app 的类型时 IApplicationBuilder,不是 WebApplication,如何配置 Minimal API?

public virtual void Configure(IApplicationBuilder app, IWebHostEnvironment env, IAntiforgery antiforgery)
{
    var api = app.NewVersionedApi().MapGroup("/openapi/v{version:apiVersion}/posts").HasApiVersion(1);
}

上面的代码编译报错

'IApplicationBuilder' does not contain a definition for 'NewVersionedApi' and the best extension method overload 'IEndpointRouteBuilderExtensions.NewVersionedApi(IEndpointRouteBuilder, string?)' requires a receiver of type 'Microsoft.AspNetCore.Routing.IEndpointRouteBuilder'
dudu的主页 dudu | 高人七级 | 园豆:24466
提问于:2025-11-15 17:32
< >
分享
最佳答案
0

WebApplication 既实现了 IApplicationBuilder 接口,又实现了 IEndpointRouteBuilder 接口,NewVersionedApi 是针对 IEndpointRouteBuilder 的扩展,改为在 app.UseEndpoints 在配置即可

app.UseEndpoints(
    endpoints =>
    {
        endpoints.MapDefaultControllerRoute();
        endpoints.MapPostsOpenApis();
    });
dudu | 高人七级 |园豆:24466 | 2025-11-15 17:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册