在 Asp.Net Core v3.1 api、Swagger v3.0 中,当我声明了多个版本时,Swagger UI 无法加载 API 定义。编辑:也来自 NuGet:Mcrosoft.AspNetCore.Mvc.Versioning v4.1.1NSwag。
在 Asp.Net Core v3.1 api、Swagger v3.0 中,当我声明了多个版本时,Swagger UI 无法加载 API 定义。
编辑:同样来自 NuGet:
Mcrosoft.AspNetCore.Mvc.版本控制 v4.1.1
NSwag.AspNetCore v13.7.0
按照 NSwag 的文档 ,我意识到我必须将以下内容添加到我的 '''Startup.ConfigureServices()''' 中:
services.AddApiVersioning(options =>
{
options.AssumeDefaultVersionWhenUnspecified = true;
options.ApiVersionReader = new UrlSegmentApiVersionReader();
})
.AddMvcCore()
.AddVersionedApiExplorer(options =>
{
options.GroupNameFormat = "VVV";
options.SubstituteApiVersionInUrl = true;
});
但是'''AddVersionedApiExplore()'''在那里不可用...然后我找到了 这个ApiExplorerOptions wiki ,其中指出(我理解为)自Asp.Net Core 3.0以来它的用法是:
services.AddVersionedApiExplorer( options => { /* configure options */ } );
但我最终得到的错误 'IServiceCollection'
不包含定义 'AddVersionedApiExplorer'
顺便说一句,每个版本的 Postman 中服务的所有路径都运行良好,swagger 的页面加载并显示我声明的两个版本,但无法加载它们的定义。
有人能给我指出正确的方向吗?