如何在单个swagger-ui页面上显示多个休息服务战争文件文档?

时间:2015-03-25 04:15:45

标签: rest java-ee swagger swagger-ui

我们在同一个应用服务器中有多个服务战文件(即; users.war和visitor.war)以及 swagger-ui.war 文件。

users.war和visitor.war都包含Swagger核心规范。

users.war url:

https://www.dev.example.com/api/users
https://www.dev.example.com/api/user?id=xxx

visitor.war url:

https://www.dev.example.com/api/visitors

swagger-ui.war网址:

https://www.dev.example.com/api/api-docs

现在我的问题是当我点击https://www.dev.example.com/api/api-docs网址时如何在同一个地方同时显示users.war和visitor.war服务。

目前,当我点击网址https://www.dev.example.com/api/api-docs并在文本框中输入users.war网址时,它会显示相应的用户服务 当我输入visitor.war url时,它会显示各自的访客服务。

不是每次都输入相应的服务战争网址,而是想要一个在一个地方显示多个战争文件服务的swagger-ui网址。

1 个答案:

答案 0 :(得分:0)

我的建议是创建一个单独的/ api-docs端点,这不是自动生成的,而是静态的json文件,例如:

{
"apiVersion":"1.0",
"swaggerVersion":"1.2",
"apis":[
    {
        "path": "http://localhost:3000/api-docs/projects.json",
        "description":"Projects"
    },
    {
        "path": "http://localhost:3000/api-docs/users.json",
        "description":"Users"
    },
    {   "description":"Retrieve events.",
        "path":"http://localhost:8080/api-docs/default/events",
        "position":0
    },
      { "description":"Retrieve activities.",
        "path":"http://localhost:8080/api-docs/default/activities",
        "position":0
    }
],

}

然后您可以继续使用所有当前的swaggger解决方案。