gpt4 book ai didi

c# - 如何指定swagger的默认打开版本?

转载 作者:行者123 更新时间:2023-12-02 17:18:37 26 4
gpt4 key购买 nike

我有一个 C# Web API,它使用 Swagger 作为 API 文档。我用过 Swashbuckle 包。 swagger 环境正在使用我在 Controller 中指定的多个版本。

今天我介绍了一个仍在开发中的新的 future 版本 (1.2)。我想默认在 1.1 版本上打开 swagger,但仍然在右上角的下拉列表中保留正确的排序顺序(例如 v1、v1.1、v1.2)。目前,它始终在下拉菜单中打开顶部版本。

有人知道如何做到这一点吗?

Dropdown swagger

最佳答案

您在 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");
}

但是,有一个解决方法:您可以传递查询字符串参数 urls.primaryName 的值,以便它默认加载该版本。

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

(或)您可以尝试通过注入(inject)自定义 JavaScript 来自定义 Swagger UI,如下所示:

app.UseSwaggerUI( 
....
c => c.InjectJavascript(***pass custom javascript here***) )

关于c# - 如何指定swagger的默认打开版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60186760/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com