我如何指定默认的打开版本?

问题描述 投票:1回答:1

我有一个使用Swagger作为API文档的C#Web API。我已经使用了Swashbuckle软件包。 swagger环境正在与我在控制器中指定的多个版本一起使用。

今天,我推出了一个仍在开发中的新的未来版本(1.2)。我想默认打开1.1版的swagger,但仍在右上角的下拉列表中保留正确的排序顺序(例如v1,v1.1,v1.2)。当前,它总是在下拉菜单中打开最高版本。

有人知道如何执行此操作吗?

Dropdown swagger

c# asp.net-core swagger swashbuckle
1个回答
0
投票

[在Startup.cs-配置方法中配置Swagger UI的顺序确定了下拉列表的顺序。默认情况下,UI在下拉列表中显示与第一个选项相对应的规范。

我们可以如下所示更改版本的顺序,但是我不确定在保留UI中版本的下拉顺序的同时是否有任何属性可以覆盖默认版本。

在下面的示例中,默认情况下将打开v1.1。

app.UseSwaggerUI(c =>
{
    c.SwaggerEndpoint("/swagger/v1.1/swagger.json", "V1.1");
    c.SwaggerEndpoint("/swagger/v1.0/swagger.json", "V1.0");
    c.SwaggerEndpoint("/swagger/v1.2/swagger.json", "V1.2");
}

但是,有一种解决方法:您可以传递querystring参数urls.primaryName的值,以便默认情况下加载该版本。

http://localhost:5001/swagger/index.html?urls.primaryName=v1.1

(或)您可以尝试通过注入自定义JavaScript来自定义UI。

© www.soinside.com 2019 - 2024. All rights reserved.