【问题标题】:How to use a Swagger UI plugin?如何使用 Swagger UI 插件?
【发布时间】:2022-06-10 21:15:14
【问题描述】:

我正在开发一个项目,除其他外,它会为 Python 项目自动生成 Swagger API。我注意到的一件事是,如果 API 需要,curl 文本会公开密码。由于目前无法屏蔽密码 (https://github.com/swagger-api/swagger-ui/issues/5025),似乎最简单的方法就是禁用 curl 文本,这样我就可以在不暴露密码的情况下共享我的 Swagger API。

在另一个问题 (https://github.com/swagger-api/swagger-ui/issues/5020) 中,显示了一个可以禁用 curl 文本的插件。

但是,我完全不知道如何实际导入和使用这个插件。有很多关于如何编写插件的文档,但没有关于如何导入它们的文档。我可以看到我可以使用https://swagger.io/docs/open-source-tools/swagger-ui/usage/configuration/ 中的插件选项加载插件,但我不知道如何将代码放在哪里。

【问题讨论】:

  • 您使用的是 Swagger UI 的独立 dist assets,还是与您的 Python 框架/库捆绑在一起的 Swagger UI?如果是后者,您使用什么框架/库 - FastAPI、Flask 等?
  • 我正在使用flask-swagger-ui
  • 我通过覆盖 flask_swagger_ui/templates 中的 index.template.html 解决了这个问题

标签: flask swagger-ui


【解决方案1】:

正如 Helen 所暗示的,您的问题的答案取决于您的设置。但是,我猜测您将需要通过运行应用程序的“非捆绑”版本来配置 SwaggerUI 对象。例如,您可能会认为这是为 docker 容器创建自定义 entrypoint

例如,link you provide 显示了运行自定义版本 SwaggerUI 的建议。这些自定义是用 JavaScript 编写的,因此任何具有必要依赖项的旧 HTML 页面都可以加载您编写的脚本以配置 SwaggerUI 将回答“将代码放在哪里”的问题。

详细信息取决于您使用或未使用的任何框架。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-24
    • 2022-06-14
    • 1970-01-01
    • 2020-04-27
    • 2021-10-09
    • 1970-01-01
    相关资源
    最近更新 更多