专栏首页码匠的流水账Swagger2 WebFlux小试牛刀

Swagger2 WebFlux小试牛刀

本文主要展示一下如何使用支持WebFlux的Swagger

maven

        <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>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>${swagger.version}</version>
        </dependency>
  • swagger.version目前是3.0.0-SNAPSHOT,因而没有发布到maven官方仓库里头,需要从jcenter-snapshots中拉取
    <repositories>
        <repository>
            <id>jcenter-snapshots</id>
            <name>jcenter</name>
            <url>http://oss.jfrog.org/artifactory/oss-snapshot-local/</url>
        </repository>
    </repositories>

配置

@Configuration
@EnableSwagger2WebFlux
public class SwaggerConfig {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(new ApiInfoBuilder()
                        .description("example api")
                        .title("example api")
                        .version("1.0.0")
                        .build())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.example.controller"))
                .paths(PathSelectors.any())
                .build();

    }
}
  • 由于支持了WebFlux,所以之前的@EnableSwagger2就移除掉了,变为@EnableSwagger2WebMvc以及@EnableSwagger2WebFlux,这里使用的是@EnableSwagger2WebFlux

小结

  • Spring 5引入了WebFlux,而当前版本的SpringFox Swagger2(2.9.2)还不支持WebFlux,得使用3.0.0-SNAPSHOT才支持
  • 由于是SNAPSHOT版本,因而没有发布到maven官方仓库里头,需要从jcenter-snapshots中拉取,另外要使用支持WebFlux的Swagger2需要引入springfox-spring-webflux依赖
  • 由于支持了WebFlux,所以之前的@EnableSwagger2就移除掉了,变为@EnableSwagger2WebMvc以及@EnableSwagger2WebFlux

doc

  • springfox docs snapshot
  • spring-boot-webflux-swagger-starter
  • Maven repository for springfox-spring-webflux ? #2939

本文分享自微信公众号 - 码匠的流水账(geek_luandun),作者:码匠乱炖

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-04-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Swagger2 WebFlux小试牛刀

    codecraft
  • jodconverter4.1.0版本改进解析

    jodconverter 4.1.0版本的话,改进了api的结构,同时新增了local以及online的模块,本文就来分析一下。

    codecraft
  • phanbedder使用实例

    PhantomJS是个好东东,很多时候爬虫需要用到,但是这个有windows、linux、mac的版本,想要跨平台的话,需要自己再处理一下,幸好有了phanbe...

    codecraft
  • Swagger2 WebFlux小试牛刀

    codecraft
  • Spring Cloud Feign 启动UnsatisfiedDependencyException

    在加入Swagger之后启动就报错了,由此可知肯定是冲突了 错误信息如下: org.springframework.beans.factory.Unsatisf...

    猿天地
  • spring boot整合dubbox进行服务拆分

    Dubbo是一个来自阿里巴巴的开源分布式服务框架,当当根据自身的需求,为Dubbo实现了一些新的功能,包括REST风格远程调用、Kryo/FST序列化等等。并...

    猿天地
  • Maven WEB 项目使用ProGuard进行混淆,最佳解决方案

    近期公司的Android项目做了混淆,虽说对于保护代码并不是100%的,但混淆后的代码可以使那些不法份子难以阅读,这样也能对代码的保护做出贡献。  于是,公司写...

    庞小明
  • Jenkins+GitLab+Docker+SpringCloud+Kubernetes实现可持续自动化微服务

      现有混合云平台的场景下,即有线下和线上的环境,又有测试与正式的场景,而且结合了Docker,导致打包内容有所区分,且服务的发布流程复杂起来,手工打包需要在编...

    欢醉
  • 这或许是对小白最友好的python入门了吧——20,定义函数简单应用

    理论上来说,你可以定义任何函数,也可以让这些函数做任何事,今天,我们就来看几个小例子。 假设你是一名淘宝卖家,你要给你的顾客发快递,你有一套模板,只需要填入相关...

    用户1315847
  • Google TPU云可能会与英伟达合作

    英伟达首席执行官黄仁勋坚持认为,用于训练机器学习模型的开发工具的处理能力和云计算能力,使得人工智能在计算平台和数据框架中无处不在。黄预测说,这场人工智能革命的一...

    GPUS Lady

扫码关注云+社区

领取腾讯云代金券