spring-boot 禁用swagger的方法
在使用spring-boot開發(fā)的時(shí)候,我們很多時(shí)候會(huì)使用swagger作為api文檔輸出??梢栽赨I界面上看到api的路徑,參數(shù)等等。
當(dāng)然,作為開發(fā)環(huán)境是很方便的,但是上生產(chǎn)環(huán)境的時(shí)候,我們需要把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 是期望值,只有在值等于期望值的時(shí)候,才會(huì)生效。也就是說,swagger.enable只能為true的時(shí)候才會(huì)生效,其他值或不設(shè)值,都不會(huì)生效的。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Springboot整合Redis最簡(jiǎn)單例子分享
這篇文章主要介紹了Springboot整合Redis最簡(jiǎn)單例子分享,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-10-10
Spring Boot 整合 Mybatis Annotation 注解的完整 Web 案例
這篇文章主要介紹了Spring Boot 整合 Mybatis Annotation 注解的完整 Web 案例,需要的朋友可以參考下2017-05-05
Java設(shè)計(jì)模式之命令模式CommandPattern詳解
這篇文章主要介紹了Java設(shè)計(jì)模式之命令模式CommandPattern詳解,命令模式是把一個(gè)請(qǐng)求封裝為一個(gè)對(duì)象,從而使你可用不同的請(qǐng)求對(duì)客戶進(jìn)行參數(shù)化;對(duì)請(qǐng)求排隊(duì)或記錄請(qǐng)求日志,以及支持可撤銷的操作,需要的朋友可以參考下2023-10-10
Java Spring數(shù)據(jù)單元配置過程解析
這篇文章主要介紹了Java Spring數(shù)據(jù)單元配置過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-12-12
Java中關(guān)于Null的9個(gè)解釋(Java Null詳解)
這篇文章主要介紹了Java中關(guān)于Null的9個(gè)解釋(Java Null詳解),本文詳細(xì)講解了Java中Null的9個(gè)相關(guān)知識(shí),需要的朋友可以參考下2015-01-01
Java使用TCP套接字實(shí)現(xiàn)多人聊天功能詳解
這篇文章主要介紹了Java使用TCP套接字實(shí)現(xiàn)多人聊天功能,結(jié)合實(shí)例形式詳細(xì)分析了java使用socket通信實(shí)現(xiàn)tcp協(xié)議下的聊天功能客戶端與服務(wù)器端相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-10-10

