对于我们的 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.
我们可以使用其他选项来使深度链接发挥作用吗?
我们也遇到了这个问题。我们通过
解决了这个问题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。