spring-boot 禁用swagger的方法
在使用spring-boot開發(fā)的時候,我們很多時候會使用swagger作為api文檔輸出??梢栽赨I界面上看到api的路徑,參數(shù)等等。
當然,作為開發(fā)環(huán)境是很方便的,但是上生產(chǎn)環(huán)境的時候,我們需要把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
關(guān)鍵就是這里的 @ConditionalOnProperty
這里的屬性key是 swagger.enable ,havingValue 是期望值,只有在值等于期望值的時候,才會生效。也就是說,swagger.enable只能為true的時候才會生效,其他值或不設(shè)值,都不會生效的。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Spring Boot 整合 Mybatis Annotation 注解的完整 Web 案例
這篇文章主要介紹了Spring Boot 整合 Mybatis Annotation 注解的完整 Web 案例,需要的朋友可以參考下2017-05-05
Java設(shè)計模式之命令模式CommandPattern詳解
這篇文章主要介紹了Java設(shè)計模式之命令模式CommandPattern詳解,命令模式是把一個請求封裝為一個對象,從而使你可用不同的請求對客戶進行參數(shù)化;對請求排隊或記錄請求日志,以及支持可撤銷的操作,需要的朋友可以參考下2023-10-10
Java Spring數(shù)據(jù)單元配置過程解析
這篇文章主要介紹了Java Spring數(shù)據(jù)單元配置過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-12-12
Java中關(guān)于Null的9個解釋(Java Null詳解)
這篇文章主要介紹了Java中關(guān)于Null的9個解釋(Java Null詳解),本文詳細講解了Java中Null的9個相關(guān)知識,需要的朋友可以參考下2015-01-01

