在使用spring-boot開發(fā)的時候,我們很多時候會使用swagger作為api文檔輸出。可以在UI界面上看到api的路徑,參數(shù)等等。
當然,作為開發(fā)環(huán)境是很方便的,但是上生產(chǎn)環(huán)境的時候,我們需要把swagger禁掉。怎么通過配置文件的方法來禁用swagger呢?
代碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
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,在配置文件中加上
1
|
swagger.enable=true |
關(guān)鍵就是這里的 @ConditionalOnProperty
這里的屬性key是 swagger.enable ,havingValue 是期望值,只有在值等于期望值的時候,才會生效。也就是說,swagger.enable只能為true的時候才會生效,其他值或不設(shè)值,都不會生效的。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:http://blog.fengxiaotx.com/archives/952