上手 Swagger Webflux(v2.10.5)

上手 Swagger Webflux(v2.10.5)

Swagger [2.10+) 支持 Webflux。

之前为了使用支持Webflux的Swagger,使用了快照版3.0.0-SNAPSHOT,从生产来讲还是不安全的。

一、Webflux

  1. 引入依赖

    <properties>
        <swagger.version>2.10.5</swagger.version>
    </properties>
    <dependencies>
        <dependency>
             <groupId>io.springfox</groupId>
             <artifactId>springfox-swagger-ui</artifactId>
             <version>${swagger.version}</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>${swagger.version}</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-spring-webflux</artifactId>
            <version>${swagger.version}</version>
        </dependency>
    </dependencies>
  2. 添加注解

    @EnableSwagger2WebFlux

  3. 配置文件

二、WebMVC

  1. 引入依赖

    <properties>
        <swagger.version>2.10.5</swagger.version>
    </properties>
    <dependencies>
        <dependency>
             <groupId>io.springfox</groupId>
             <artifactId>springfox-swagger-ui</artifactId>
             <version>${swagger.version}</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>${swagger.version}</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-spring-webmvc</artifactId>
            <version>${swagger.version}</version>
        </dependency>
    </dependencies>
  2. 添加注解

    @EnableSwagger2WebMvc

  3. 配置文件

三、相关源码

  • WebMvc,可参考 mall-user模块
  • Webflux,可参考 mall-gateway模块

    支持聚合 API,也就是 gateway 里边聚合了user、order等子服务的swagger,子服务无需依赖 springfox-swagger-ui,更简洁