首页 > 解决方案 > 配置 Swagger-ui 路径

问题描述

我正在使用 yml 文件和使用 quarkus 从下面的上下文中配置 swagger-ui 路径

swagger-ui:
路径:/clinic/swagger-ui

但是当启动我的应用程序并访问 swagger 时看不到页面 swagger-ui 并将配置更改为波纹管,当我将其更改回上述配置时,我可以看到页面 swagger-ui 我可以看到 swagger-ui。

swagger-ui:
路径:/swagger-ui

我这样做,如果它停止并重新启动我的应用程序,它会在本地执行期间工作,我必须重做我上面描述的相同步骤。我不需要这个的任何解决方案吗?因为我有一个必须遵循的规则,其余的路由和端点的其余部分必须在 /clinic 内,如下所示

/clinic/swagger-ui -> 页面招摇

/clinic/api/ -> 端点休息

标签: javaswaggerquarkus

解决方案


这适用于 OpenAPI 和 Swagger UI 的 Quarkus 指南。为了重现,我做了以下事情:

  1. 创建具有以下扩展的 Quarkus (1.8.1) 项目:
    • quarkus-smallrye-openapi
    • quarkus-config-yaml(为你application.yml
    • quarkus-resteasy(用于编程 REST 服务)
    • quarkus-resteasy-jsonb
  2. 创建您的 REST 端点(我刚刚做/fruits了上述指南的示例)
  3. 配置application.yml
quarkus:
    smallrye-openapi:
        path: /fruit/openapi
    swagger-ui:
        path: /fruit/swagger-ui
        always-include: true

现在,您可以通过 Swagger UI 访问 OpenAPI yml,只需curl http://localhost:8080/fruit/openapi将浏览器指向http://localhost:8080/fruit/swagger-ui.

请注意,该设置always-include: true使 Swagger UI 即使在生产中也可用!


推荐阅读