`
wx1568905209
  • 浏览: 25091 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

springCloud中基于Zuul整合Swagger2(采用boostrapUI,界面好看)

 
阅读更多

引入如下依赖:

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>

    <dependency>
        <groupId>com.github.xiaoymin</groupId>
        <artifactId>swagger-bootstrap-ui</artifactId>
        <version>1.8.7</version>
    </dependency>
    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>25.1-jre</version>
    </dependency>

在zuul模块中配置SwaggerResourcesProvider

@Component
 @Primary
public class GatewaySwaggerResourcesProvider implements SwaggerResourcesProvider {
    private final RouteLocator routeLocator;

    public GatewaySwaggerResourcesProvider(RouteLocator routeLocator) {
        this.routeLocator = routeLocator;
    }

    @Override
    public List<SwaggerResource> get() {
        List<SwaggerResource> resources = new ArrayList<>();
        List<Route> routes = routeLocator.getRoutes();
        for (Route route:routes) {
            resources.add(swaggerResource(route.getId(), route.getFullPath().replace("**", "v2/api-docs")));
        }
        return resources;
    }
    private SwaggerResource swaggerResource(String name, String location) {
        SwaggerResource swaggerResource = new SwaggerResource();
        swaggerResource.setName(name);
        swaggerResource.setLocation(location);
        swaggerResource.setSwaggerVersion("2.0");
        return swaggerResource;
    }
}

 在zuul模块中配置SwaggerConfig

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo());
    }
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("说明文档")
                .description("接口说明文档")
                .termsOfServiceUrl("")
                .contact(new Contact("xhx","",""))
                .version("1.0")
                .build();
    }
}

在具体的服务模块中添加SwaggerConfig

@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
      return new Docket(DocumentationType.SWAGGER_2)
                        .apiInfo(apiInfo())
                        .select()
                         .apis(RequestHandlerSelectors.basePackage("com.dfove.dakx.auth.client.controller"))
                            //basePage就是具体要扫描的包,有swagger注解的方法就生成到文档里面去
                        .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
                         .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
                         .paths(PathSelectors.any())
                        .build();
             }
    private ApiInfo apiInfo() {
     return new ApiInfoBuilder()
                        .title("用户系统api")
                         .description("用户系统接口文档说明")
                        .contact(new Contact("xhx", "", ""))
                         .version("1.0")
                         .build();
             }
            @Bean
     UiConfiguration uiConfig() {
                 return new UiConfiguration(null, "list", "alpha", "schema",
                                 UiConfiguration.Constants.DEFAULT_SUBMIT_METHODS, false, true, 60000L);
             }
 }

配置完成之后,在需要的接口上加上swagger的注解就可以将接口生成到文档里面了;

输入http://localhost:8060/doc.html查看界面,这里选用swagger-bootstrap-ui,界面好看很多,端口号为网关端口号

3bf5a5c80778748c3843d30c1d77bc5ed24.jpg

转载于:https://my.oschina.net/u/3734816/blog/3025262

分享到:
评论

相关推荐

    spring cloud oauth2 zuul 单点登录 认证授权

    在"spring-cloud-examples-master"这个压缩包中,可能包含了示例代码和配置文件,用于演示如何在Spring Cloud环境中集成OAuth2和Zuul实现单点登录。你可以通过阅读源码,理解它们的配置和交互方式,进一步了解如何在...

    springcloud整合swagger代码demo

    在SpringCloud和Swagger的整合中,我们通常会在SpringBoot的启动类上添加@EnableSwagger2注解,激活Swagger2的配置。然后,创建一个SwaggerConfig类,用于配置Swagger的基本信息,如API的版本、联系人信息、分组等。...

    spring-cloud-zuul2:Zuul2与Spring Cloud集成

    Spring Cloud Zuul2 Zuul与Spring Cloud的集成。 警告:正在进行中入门启动zuul服务器./src/test/java/rocks/devmesh/spring/cloud/zuul/Application#main请求到'/ healthcheck'端点$ curl ...

    SpringCloud中集成Zuul网关.html

    SpringCloud中集成Zuul网关。 添加相关依赖,编写路由地址,添加过滤器可以在过滤器中对请求做其他操作 如验证是否登录、解密请求中的数据等

    SpringCloud zuul jar包

    SpringCloud Zuul是Spring Cloud生态系统中的一个边缘服务和API网关组件。它的主要功能是作为微服务架构中的统一入口,负责路由转发、过滤器处理、负载均衡以及安全控制等任务。Zuul允许开发者在微服务架构中实现...

    SpringCloud eureka mybatis zuul feign

    在这个项目中,我们关注的是SpringCloud Eureka、Zuul、Feign以及它们在负载均衡中的应用。 1. **SpringCloud Eureka**: Eureka是SpringCloud的一个核心组件,它作为服务注册与发现的工具。每个微服务启动时,...

    springcloud zuul gateway 服务网关

    SpringCloud Zuul Gateway 服务网关是Spring Cloud生态系统中的一个重要组件,它主要负责微服务架构中的路由转发和过滤器功能。Zuul是Netflix开源的一个边缘服务,而Gateway则是Spring Cloud针对Zuul进行的升级版,...

    spring boot 2.6.11+springcloud Swagger3构建微服务项目源码

    在本项目中,我们主要关注的是使用Spring Boot 2.6.11、Spring Cloud以及Swagger3构建微服务架构的过程。这些技术都是现代云应用开发中的核心组件,它们各自提供了强大的功能来简化开发和增强应用的可维护性。 首先...

    spring cloud zuul

    **Spring Cloud Zuul** 是一个基于 Spring Framework 和 Netflix Zuul 的边缘服务工具,它作为微服务架构中的边缘服务器,提供动态路由、流量控制、安全、监控等功能。Zuul 主要是作为 API 网关,它负责处理所有来自...

    Spring Cloud 之 Eureka集群整合Zuul、Feign-源码

    在本教程中,我们将深入探讨如何在Spring Cloud框架下实现Eureka集群,并整合Zuul和Feign。首先,我们要理解这些组件的核心功能。 **Eureka**是Spring Cloud中的服务发现组件,它允许微服务之间互相发现并进行通信...

    05_SpringCloud API网关zuul.md

    SpringCloud API网关zuul ,路由规则写在配置文件中。为了便于修改,把配置文件放到配置文件中心。使用springcloud config .后期可以使用携程的阿波罗 可视化操作界面 并且是中文的。

    spring cloud eureka zuul ribbon hystrix feign config 示例

    2. **Zuul**:Zuul是Spring Cloud的边缘服务和动态路由组件,它可以看作是微服务系统的“门面”。Zuul 提供了过滤器机制,可以实现请求的路由、负载均衡、认证、监控等功能,允许对来自客户端的请求进行预处理和后...

    springboot+springcloud-eureka+springcloud-zuul

    springboot框架+springcloud-Eureka搭建+springcloud0-zuul搭建代码,可以帮助新手搭建,才用的是为服务架构,但只是把架子打起来了,没有过多逻辑代码,参考学习下,希望对你们有帮助

    高级Spring Boot和Spring Cloud微服务示例 Zuul上的API Swagger2

    2. Spring MVC框架:Spring MVC是基于Spring框架的Web框架,用于开发Web应用程序。它采用MVC(Model-View-Controller,模型-视图-控制器)的架构模式,将应用程序分为模型层、视图层和控制器层,提供了处理请求、...

    springcloud zuul网关服务

    SpringCloud Zuul是基于Spring Cloud框架的一个核心组件,它扮演着API网关的角色,负责路由转发、过滤器处理以及安全控制等任务。Zuul的主要功能包括动态路由、过滤器机制、安全控制、负载均衡、健康检查等。下面将...

    spring cloud 使用Zuul 实现API网关服务问题

    在本文中,我们将主要介绍如何使用 Spring Cloud 的 Zuul 组件来实现 API 网关服务问题。 Zuul 是一个基于 Netflix Zuul 的 API 网关组件,它可以解决路由规则和服务实例的维护问题,以及一些校验(比如登录校验等)...

    spring-cloud-zuul(包含注册中心、服务生产者、服务消费者、zuul网关路由).zip

    Spring Cloud Zuul 是一个基于 Netflix Zuul 的微服务网关,它提供了动态路由、过滤器以及面向服务的路由功能,是构建分布式系统的重要组件。在Spring Cloud生态中,Zuul主要承担着服务网关的角色,用于统一入口、...

    03Spring Cloud项目实战微服务整合spring boot视频教程课件

    在本课程中,我们将深入探讨"03Spring Cloud项目实战微服务整合spring boot"的相关知识点。Spring Cloud作为一套微服务解决方案,与Spring Boot相结合,为开发者提供了构建分布式系统中的配置管理、服务发现、断路器...

    Spring Cloud(zuul)使用例子.zip

    在这个例子中,我们主要关注的是 Zuul,它是Spring Cloud的一个边缘服务和动态路由组件,用作API网关。 Zuul的主要职责包括: 1. **动态路由**:Zuul可以对请求进行路由,将客户端的请求转发到不同的后端服务。...

    springcloud入门代码基于Spring Cloud实现的服务网关Zuul源代码

    springcloud入门代码基于Spring Cloud实现的服务网关Zuul源代码 安装教程 Zuul pom.xml &lt;groupId&gt;org.springframework.cloud &lt;artifactId&gt;spring-cloud-starter-netflix-zuul application.yml server:...

Global site tag (gtag.js) - Google Analytics