Fab*_*bio 1 swagger swashbuckle swashbuckle.aspnetcore
我正在对我的 API 进行版本控制,并且我想在 Swagger 中显示最新的 API 版本作为默认值。比如我的API有2个版本,当有人选择显示Swagger时,最先出现的版本是V1.0。用户必须手动选择要显示的最新版本。
在下图中,我们可以看到应用程序启动时向用户显示的默认版本是 V1.0。
我想知道是否可以默认向用户显示最新的 API 版本。
谢谢!
首先我在Startup.cs的Configure类中添加了IApiVersionDescriptionProvider,如下图:
之后,我必须反转包含 app.UseSwaggerUI() 中 api 可用版本的列表。
在 Startup.cs Configure 方法中配置 Swagger UI 的顺序决定了下拉列表的顺序。
app.UseSwaggerUI(c =>
{
foreach (var description in apiVersionDescriptionProvider.ApiVersionDescriptions.Reverse())
{
// Create the Swagger endpoints for each version
c.SwaggerEndpoint($"/swagger/" +
$"LibraryOpenAPISpecification{description.GroupName}/swagger.json",
description.GroupName.ToUpperInvariant());
}
c.RoutePrefix = ""; // swagger UI at the root index.html
});
Run Code Online (Sandbox Code Playgroud)
@Bob Ash 的以下回答非常有帮助 -如何指定 swagger 的默认打开版本?
通过这样做,我现在成功地将 V2.0 显示为 api 的默认版本:
| 归档时间: |
|
| 查看次数: |
551 次 |
| 最近记录: |