SwashBuckle 升级不启用 OAS3.0

SwashBuckle upgrade does not enable OAS3.0

我们正在升级我们的 webapi 以在我们的 dotnet Core 应用程序中启用 OAS3.0,从文档来看它似乎只在 SwashBuckle.Aspnetcore 5.4.1 + 版本中受支持。如此处所述:https://github.com/domaindrivendev/Swashbuckle.AspNetCore

因此我们将 SwashBuckle.Aspenetcore 升级到了 5.4.1。但是,当我们 运行 应用程序时,它仍然会生成 swagger 2.0 而不是 OAS 3.01。现在,同一页面上的文档没有指定从 swagger2.0-->OAS3.0 升级时我们必须做的任何特殊事情 目前我的小配置如下所示:

app.UseSwaggerUI(c =>
            {                    
                c.SwaggerEndpoint("/myapp/swagger/v1/swagger.json", "API name");
                c.RoutePrefix = "myapp/swagger";
                c.DisplayRequestDuration();
                c.DisplayOperationId();                                
            });

页面上的文档还指向一个页面,该页面在 link 中提到了对 OAS3.0 的支持:https://swagger.io/specification/

但同样不是可供参考的代码。有人能告诉我如何将我的 API 从 swagger 2.0 升级到 OAS 3.0 的细节吗?

看起来您在代码中的某处有 c.SerializeAsV2 = true。要输出 OpenAPI 3.0,此选项必须为 false.