gpt4 book ai didi

yaml - 如何在 Swagger UI 中隐藏服务器描述?

转载 作者:行者123 更新时间:2023-12-05 05:01:51 24 4
gpt4 key购买 nike

我有一个包含多个服务器的 OpenAPI 3.0 定义:

servers:
- url: https://development.gigantic-server.com/v1
description: Development server
- url: https://staging.gigantic-server.com/v1
description: Staging server
- url: https://api.gigantic-server.com/v1
description: Production server

当此定义在 Swagger UI 中呈现时,“服务器”下拉列表显示每个服务器的描述:

Server descriptions in Swagger UI

是否可以从此下拉列表中隐藏服务器描述?

最佳答案

Swagger UI 始终显示服务器 description(如果提供),这是硬编码的:
https://github.com/swagger-api/swagger-ui/blob/master/src/core/plugins/oas3/components/servers.jsx#L125

作为解决方法,您可以在加载 API 定义后动态修改它并删除服务器描述。为此,编辑您的 Swagger UI 的 swagger-initializer.jsindex.html 文件并将以下 onComplete 函数添加到 SwaggerUIBundle初始化代码:

  const ui = SwaggerUIBundle({
url: "https://path/to/your/openapi.json",
...

onComplete: function() {
let spec = ui.specSelectors.specJson().toJS();
let servers = spec.servers || [];

for (let i in servers) {
servers[i].description = ""
}

ui.specActions.updateJsonSpec(spec);
}
})

关于yaml - 如何在 Swagger UI 中隐藏服务器描述?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62532211/

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