最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解SpringBoot禁用Swagger的三種方式

 更新時(shí)間:2021年11月22日 12:01:41   作者:Sunny_Chen  
在生產(chǎn)環(huán)境下,我們需要關(guān)閉swagger配置,避免暴露接口的這種危險(xiǎn)行為。本文就詳細(xì)的介紹了3種情況,感興趣的可以了解一下

摘要

在生產(chǎn)環(huán)境下,我們需要關(guān)閉swagger配置,避免暴露接口的這種危險(xiǎn)行為。

方法

禁用方法1:

使用注解 @Value() 推薦使用

package com.dc.config;

import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * @author sunny chen
 * @version V1.0
 * @Package com.dc.config
 * @date 2018/1/16 17:33
 * @Description: 主要用途:開啟在線接口文檔和添加相關(guān)配置
 */
@Configuration
@EnableSwagger2
public class Swagger2Config extends WebMvcConfigurerAdapter {

    @Value("${swagger.enable}")
    private Boolean enable;
   
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
            .enable(enable)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.dc.controller"))
                .paths(PathSelectors.any())
                //.paths(PathSelectors.none())
                .build();
    }

    private ApiInfo apiInfo()  {
        return new ApiInfoBuilder()
                .title("auth系統(tǒng)數(shù)據(jù)接口文檔")
                .description("此系統(tǒng)為新架構(gòu)Api說(shuō)明文檔")
                .termsOfServiceUrl("")
                .contact(new Contact("陳永佳 chen867647213@163.com", "", "https://blog.csdn.net/Mrs_chens"))
                .version("1.0")
                .build();
    }

    /**
     * swagger ui資源映射
     * @param registry
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("swagger-ui.html")
                .addResourceLocations("classpath:/META-INF/resources/");

        registry.addResourceHandler("/webjars/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/");
    }

    /**
     * swagger-ui.html路徑映射,瀏覽器中使用/api-docs訪問(wèn)
     * @param registry
     */
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addRedirectViewController("/api-docs","/swagger-ui.html");
    }
}

禁用方法2:

使用注解 @Profile({“dev”,“test”})? 表示在開發(fā)或測(cè)試環(huán)境開啟,而在生產(chǎn)關(guān)閉。(推薦使用)

package com.dc.config;

import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * @author sunny chen
 * @version V1.0
 * @Package com.dc.config
 * @date 2018/1/16 17:33
 * @Description: 主要用途:開啟在線接口文檔和添加相關(guān)配置
 */
@Configuration
@EnableSwagger2
@Profile({“dev”,“test”})
public class Swagger2Config extends WebMvcConfigurerAdapter {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.dc.controller"))
                .paths(PathSelectors.any())
                //.paths(PathSelectors.none())
                .build();
    }

    private ApiInfo apiInfo()  {
        return new ApiInfoBuilder()
                .title("auth系統(tǒng)數(shù)據(jù)接口文檔")
                .description("此系統(tǒng)為新架構(gòu)Api說(shuō)明文檔")
                .termsOfServiceUrl("")
                .contact(new Contact("陳永佳 chen867647213@163.com", "", "https://blog.csdn.net/Mrs_chens"))
                .version("1.0")
                .build();
    }

    /**
     * swagger ui資源映射
     * @param registry
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("swagger-ui.html")
                .addResourceLocations("classpath:/META-INF/resources/");

        registry.addResourceHandler("/webjars/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/");
    }

    /**
     * swagger-ui.html路徑映射,瀏覽器中使用/api-docs訪問(wèn)
     * @param registry
     */
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addRedirectViewController("/api-docs","/swagger-ui.html");
    }
}

禁用方法3:

使用注解 @ConditionalOnProperty(name = “swagger.enable”, havingValue = “true”)? 然后在測(cè)試配置或者開發(fā)配置中 添加 swagger.enable = true 即可開啟,生產(chǎn)環(huán)境不填則默認(rèn)關(guān)閉 Swagger.

package com.dc.config;

import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * @author sunny chen
 * @version V1.0
 * @Package com.dc.config
 * @date 2018/1/16 17:33
 * @Description: 主要用途:開啟在線接口文檔和添加相關(guān)配置
 */
@Configuration
@EnableSwagger2
@ConditionalOnProperty(name ="enabled" ,prefix = "swagger",havingValue = "true",matchIfMissing = true)
public class Swagger2Config extends WebMvcConfigurerAdapter {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.dc.controller"))
                .paths(PathSelectors.any())
                //.paths(PathSelectors.none())
                .build();
    }

    private ApiInfo apiInfo()  {
        return new ApiInfoBuilder()
                .title("auth系統(tǒng)數(shù)據(jù)接口文檔")
                .description("此系統(tǒng)為新架構(gòu)Api說(shuō)明文檔")
                .termsOfServiceUrl("")
                .contact(new Contact("陳永佳 chen867647213@163.com", "", "https://blog.csdn.net/Mrs_chens"))
                .version("1.0")
                .build();
    }

    /**
     * swagger ui資源映射
     * @param registry
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("swagger-ui.html")
                .addResourceLocations("classpath:/META-INF/resources/");

        registry.addResourceHandler("/webjars/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/");
    }

    /**
     * swagger-ui.html路徑映射,瀏覽器中使用/api-docs訪問(wèn)
     * @param registry
     */
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addRedirectViewController("/api-docs","/swagger-ui.html");
    }
}

到此這篇關(guān)于詳解SpringBoot禁用Swagger的三種方式的文章就介紹到這了,更多相關(guān)SpringBoot禁用Swagger內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

津市市| 肥城市| 搜索| 东乡县| 定州市| 太白县| 沛县| 普兰店市| 清徐县| 黄山市| 青神县| 汶上县| 兴山县| 云阳县| 渭源县| 博湖县| 灵宝市| 新竹县| 滦平县| 蚌埠市| 光泽县| 萍乡市| 南涧| 康乐县| 林芝县| 内丘县| 连云港市| 嘉善县| 堆龙德庆县| 广丰县| 铁力市| 鲜城| 洛川县| 盐津县| 平阳县| 镇沅| 湖南省| 南丰县| 钟山县| 宽甸| 景德镇市|