SpringBoot 集成swagger2

    最近项目开发大都是前后端分离,在编写后端接口时,往往需要向前端提供API接口文档。现在公司项目的做法大都是写完后端API接口后,再在Rap上编写API接口说明文档,这种方式对维护API文档的更新很不灵活,所以在自己单独负责一个后端接口工程时,就研究了一下引入Swagger.

    在以前的项目经历中也早引用过swagger,但自己没有亲手集成过。今天所以再回顾和整理下,大体做个总结。

    一、引入maven依赖。这里提醒一下,springBoot中集成swagger2 注意版本,不然启动会报错,这个问题下次有空再看看。我这里是SpringBoot版本1.4.4,swagger2版本是2.5.0。【第一次引用的是2.6.1报错】

SpringBoot 集成swagger2

  二、新增swagger2配置类。这里我也截个图:

SpringBoot 集成swagger2

三、在做完第一步 和 第二步时,启动没报错。但你去访问时,比如:https://192.168.1.128:8892/xxxDemo/swagger-ui.html#/,会报404错误。这里是因为还需要再配置一下.

一个是xml配置文件配置:

<mvc:resources location="classpath:/META-INF/resources/" mapping="swagger-ui.html"/>

<mvc:resources location="classpath:/META-INF/resources/webjars/" mapping="/webjars/**"/>

另一个是代码配置,在你的springMVC配置类中重写:

SpringBoot 集成swagger2

SpringBoot 集成swagger2

还有一般每个项目工程都有过滤器或拦截器,需要把swagger2相关的url路径放开。比如我这里就放开:SpringBoot 集成swagger2


四、就是在需要对外提供的接口类,一般是Controller类,加上swagger2注解。如:

SpringBoot 集成swagger2


五、swagger2常用的注解说明

(1)很多时候在调用某接口时需要加上token或授权,一般通过header传送。可以这样配置:

SpringBoot 集成swagger2

SpringBoot 集成swagger2