【问题标题】:API Gateway (Kong or Tyk):. Can I have swagger-ui on gateway?API 网关(Kong 或 Tyk):。我可以在网关上安装 swagger-ui 吗?
【发布时间】:2022-11-17 03:07:36
【问题描述】:

我正在实施一个 API 网关,作为对几个作为微服务运行的现有 API 的访问点。

每个微服务 API 都在 OpenAPI 中定义,并运行一个 swagger-ui 实​​例来记录和公开端点。一切都作为单独的仅 API 项目用 Ruby on Rails 编写。

我正在考虑担任 API 网关角色的 Kong 或 Tyk。这两个项目是否有可能在网关上运行 swagger-ui 以记录通过网关的可用路由,并允许经过身份验证的用户在一个地方而不是每个服务尝试不同服务公开的各种端点?如果没有,这两个项目是否以任何形式提供了这样的接口?

【问题讨论】:

    标签: swagger-ui openapi api-gateway kong tyk


    【解决方案1】:

    我只熟悉Kong,所以我只能代表那个产品。 Kong 拥有所谓的“开发者门户”,旨在与网关本身集成并提供 API 规范以供消费者查看。

    您当然也可以通过 Kong Gateway 产品提供您自己的 HTML 类型的应用程序,但这可能是节省这样做所需资源的最佳解决方案。

    就个人而言,我使用他们的 Insomnia 产品(如邮递员)来维护 Swagger 规范并将其直接推送到开发门户。

    【讨论】:

      【解决方案2】:

      对于Kong来说,它没有提供这个。但是您可以像常规服务一样在网关后面托管一个 Swagger-UI 实例。 Swagger-UI 能够服务于多个规范。查看配置的 urls 参数:

      https://swagger.io/docs/open-source-tools/swagger-ui/usage/configuration/

      您将在右上角看到一个下拉框,用于选择所需的服务。

      根据您的 API 网关以及所需的身份验证方案,swagger 文档应该有一个服务器 url。如果请求通过 API 网关,则它必须具有正确的身份验证机制。

      请记住,如果 Swagger-UI 和您的服务来自不同的域,则您可能必须配置 CORS。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-05-31
        • 1970-01-01
        • 2020-08-25
        • 1970-01-01
        • 1970-01-01
        • 2019-05-19
        • 1970-01-01
        • 2021-07-06
        相关资源
        最近更新 更多