Swagger:深度链接到带有折叠标签的方法不起作用

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

对于我们的 Swagger API 文档,我们希望向开发人员发送 API 方法的深层链接(=

operation
in swagger)。

我们的Swagger版本是2.2.15,Swagger-ui版本是5.11.8。

我们使用参数

docExpansion: none
默认折叠所有标签。

const ui = SwaggerUIBundle({
        url: url,
        dom_id: '#swagger-ui-container',
        docExpansion: 'none',
        defaultModelsExpandDepth: -1,
        deepLinking: true,

使用

deepLinking: true
参数时,在浏览器中打开该链接时不会打开方法。

使用

docExpansion: list
时,深层链接确实有效。

在文档中 https://swagger.io/docs/open-source-tools/swagger-ui/usage/deep-linking/ 它说,这种组合应该可以工作,但在 Firefox 和 Chrome 中都行不通。

Sure - use docExpansion: none to collapse all tags and operations. Your deep link will take precedence over the setting, so only the tag or operation you've specified will be expanded.

我们可以使用其他选项来使深度链接发挥作用吗?

swagger swagger-ui
1个回答
0
投票

我们也遇到了这个问题。我们通过

解决了这个问题
  • swagger-ui 从 5.11.8 更新到 5.17.11
  • 或改编 swagger-ui-bundle.js:查找
    className:S?"opblock-tag-section is-open":"opblock-tag-section"
    并更改之前不久的 S 的说明
    S=i.isShown(b,"full"===c||"list"===c)
    S=i.isShown(b,"full"===c||"list"===c||location.hash.includes("/"+r+"/"))
    。 如果包含标签 r,这也会显示方法部分 作为输入的 url 哈希的一部分,即使使用 docExpansion: none
© www.soinside.com 2019 - 2024. All rights reserved.