spring-boot 禁用swagger的方法

 更新时间:2018年02月13日 10:34:50   作者:彼岸  
本篇文章主要介绍了spring-boot 禁用swagger的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

在使用spring-boot开发的时候,我们很多时候会使用swagger作为api文档输出。可以在UI界面上看到api的路径,参数等等。

当然,作为开发环境是很方便的,但是上生产环境的时候,我们需要把swagger禁掉。怎么通过配置文件的方法来禁用swagger呢?

代码如下:

import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.ParameterBuilder;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.schema.ModelRef;
import springfox.documentation.service.Parameter;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by Bane.Shi.
 * User: Bane.Shi
 * Date: 2017/12/28
 * Time: 下午2:15
 */
@Configuration
@ConditionalOnProperty(prefix = "swagger",value = {"enable"},havingValue = "true")
@EnableSwagger2
public class SwaggerConfiguration {

  @Bean
  public Docket swagger(){
    return new Docket(DocumentationType.SWAGGER_2)
        .groupName("default")
        .apiInfo(new ApiInfoBuilder().title("SSP School API").version("1.0.0").build())
        .select()
        .apis(RequestHandlerSelectors.basePackage("com.fclassroom.ssp.school"))
        .build()
        .globalOperationParameters(globalOperationParameters());
  }


  private List<Parameter> globalOperationParameters(){
    List<Parameter> parameters = new ArrayList<>();
    // parameters.add(new ParameterBuilder().name("ACCESS-TOKEN").description("ACCESS-TOKEN").required(false).parameterType("header").modelRef(new ModelRef("string")).build());
    return parameters;
  }
}

如果要开启swagger,在配置文件中加上

swagger.enable=true

关键就是这里的 @ConditionalOnProperty

这里的属性key是 swagger.enable ,havingValue 是期望值,只有在值等于期望值的时候,才会生效。也就是说,swagger.enable只能为true的时候才会生效,其他值或不设值,都不会生效的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 代码详解Java猴子选王问题(约瑟夫环)

    代码详解Java猴子选王问题(约瑟夫环)

    本篇文章通过实例给大家分析了java约瑟夫环这个经典内容,有兴趣的跟着小编一起学习下吧。
    2018-02-02
  • 利用springmvc处理模型数据

    利用springmvc处理模型数据

    这篇文章主要介绍了如何利用springmvc 处理模型数据,帮助大家更好的理解和学习使用springmvc,感兴趣的朋友可以了解下
    2021-03-03
  • java web将数据导出为pdf格式文件代码片段

    java web将数据导出为pdf格式文件代码片段

    这篇文章主要为大家详细介绍了java web将数据导出为pdf格式文件代码片段,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • 详解SpringMVC组件之HandlerMapping(二)

    详解SpringMVC组件之HandlerMapping(二)

    这篇文章主要介绍了详解SpringMVC组件之HandlerMapping(二),HandlerMapping组件是Spring MVC核心组件,用来根据请求的request查找对应的Handler,在Spring MVC中,有各式各样的Web请求,每个请求都需要一个对应的Handler来处理,需要的朋友可以参考下
    2023-08-08
  • MyBatis-Plus实现逻辑删除的示例代码

    MyBatis-Plus实现逻辑删除的示例代码

    本文主要介绍了MyBatis-Plus实现逻辑删除的示例代码,就是通过逻辑判断的手段表示该条数据已删除,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • java之抽象类和继承抽象类解读

    java之抽象类和继承抽象类解读

    这篇文章主要介绍了java之抽象类和继承抽象类,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Java8新特性之再见Permgen_动力节点Java学院整理

    Java8新特性之再见Permgen_动力节点Java学院整理

    这篇文章主要介绍了Java8新特性之再见Permgen的相关知识,非常不错,具有参考借鉴价值,需要的的朋友参考下吧
    2017-06-06
  • SpringBoot使用minio及配置代码

    SpringBoot使用minio及配置代码

    MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。本文重点给大家介绍SpringBoot使用minio及配置代码,感兴趣的朋友一起看看吧
    2022-02-02
  • java 线程之对象的同步和异步(实例讲解)

    java 线程之对象的同步和异步(实例讲解)

    下面小编就为大家带来一篇java 线程之对象的同步和异步(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • 使用FileReader采用的默认编码

    使用FileReader采用的默认编码

    这篇文章主要介绍了使用FileReader采用的默认编码,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12

最新评论