前言
开发和测试时使用swagger-ui可以极大的提高前端开发人员与后端开发人员的沟通效率,同时减少了后端人员编写接口文档的工作量,但是如果写一个较为详细的基于swagger-ui的接口文档,对代码破坏性还是蛮大的(手动滑稽).回归主题,因为接口我们是不需要再生产环境进行查看的,所以我们需要在生产环境禁用掉,下面列举了两种方法.
禁用方式一:
在swigger-UI的配置类上使用注解@Profile
@Profile({"dev","test"})
该注解表示这个bean只会在开发环境和测试环境才会被实例化
禁用方式二:
首先在swagger-UI的配置类上使用注解@ConditionalOnProperty
@ConditionalOnProperty(name = "swagger.enable", havingValue = "true")
该注解表示当配置swagger.enable为true的时候才会实例化添加注解的bean,所以其他环境不填写或者填写false都是可以禁用swagger的.
其次在需要再需要开启swagger的配置文件中添加swagger.enable = true
如:application-dev.yml
spring:
profiles:
active: dev
swagger:
enable: true