如何将swagger-ui文档集中到可通过单个端点访问的资源中

时间:2019-04-02 11:01:12

标签: java spring-boot swagger-ui swagger-2.0

我已经设置了一个spring-boot应用程序,我希望Swagger UI在一个页面上显示所有汇总的文档。

对于后台,该应用程序是容器化的,并在由k8s安排的多个部署的群集中运行。有一个入口服务,可以根据传入HTTP请求的结构路由到正确的部署。

每个模块中都有多个控制器,这些控制器已通过Springfox配置。

@Configuration
@EnableSwagger2
public class Swagger
{
    @Bean
    public Docket api()
    {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any())
                .build();
    }
}

上面仅给了我一个默认的swagger UI页面,其中包含每个端点的文档。如何提供集中的swagger-ui?

1 个答案:

答案 0 :(得分:0)

为解决此问题,我已使用kubernetes服务发现来注册我的客户端,有关k8s客户端发现的更多信息:https://cloud.spring.io/spring-cloud-static/spring-cloud-kubernetes/2.1.0.RC1/multi/multi__discoveryclient_for_kubernetes.html

我还创建了一个带有zuul代理的网关服务API,以查询swagger规范以及有关在春季启动时有关zuul的更多信息: https://cloud.spring.io/spring-cloud-netflix/multi/multi__router_and_filter_zuul.html

最后,我已将自己的入口服务配置为将所有摇摇欲坠的请求重定向到网关API,该网关API使用zuul获得摇摇晃晃的规格。