当前位置:  开发笔记 > 编程语言 > 正文

Swagger UI具有多种服务

如何解决《SwaggerUI具有多种服务》经验,为你挑选了1个好方法。

有没有一种方法可以“聚合”(或至少链接到)多个Swagger API以在单个UI上显示?

假设我有两个服务Foo和Bar,我要做的是制作第三个服务Baz,它提供Foo和Bar的元数据。Foo,Bar和Baz将位于不同的主机上,这就是为什么我不确定是否可能的原因。


一种解决方案是使用服务发现的思想(在这种情况下可能不是正确的术语),并在执行GET时让Baz提供指向Foo和Bar的链接。

GET / HTTP/1.1
Host: baz
Accept: application/json
...
HTTP/1.1 200 OK
Content-Type: application/json
...

{
    "services": [
        {
            "name": "foo",
            "link": "http://foo"
        },
        {
            "name": "bar",
            "link": "http://bar"
        }
    ]
}

这就是我通常会采用的方式,但是我想知道是否有办法让Baz上的Swagger UI显示Foo和Bar的UI。



1> Captain Man..:

我最终要做的是在index.html文件中,用下拉列表替换页面顶部的文本框,该下拉列表具有指向托管swagger.json文件的各种服务器的链接。


可以编写JavaScript脚本来与您的Eureka实例(或类似的实例)进行对话,以获取每个服务的网址,并且下拉列表可以自动更新。我不是JavaScript或HTML专家,所以我不知道该怎么做,但是我提到它是因为有可能。这将更加有用,因此您无需在每次添加新服务时都更新此文件。

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有