springboot生产环境禁用swagger-ui

springboot生产环境禁用swagger-ui

前言

开发和测试时使用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

版权声明:本文为u012198893原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。