版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第詳解SpringBoot禁用Swagger的三種方式目錄摘要方法禁用方法1:禁用方法2:禁用方法3:
摘要
在生產環(huán)境下,我們需要關閉swagger配置,避免暴露接口的這種危險行為。
方法
禁用方法1:
使用注解@Value()推薦使用
packagecom.dc.config;
importorg.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
importorg.springframework.context.annotation.Bean;
importorg.springframework.context.annotation.Configuration;
importorg.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
importorg.springframework.web.servlet.config.annotation.ViewControllerRegistry;
importorg.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
importspringfox.documentation.builders.ApiInfoBuilder;
importspringfox.documentation.builders.PathSelectors;
importspringfox.documentation.builders.RequestHandlerSelectors;
importspringfox.documentation.service.ApiInfo;
importspringfox.documentation.service.Contact;
importspringfox.documentation.spi.DocumentationType;
importspringfox.documentation.spring.web.plugins.Docket;
importspringfox.documentation.swagger2.annotations.EnableSwagger2;
*@authorsunnychen
*@versionV1.0
*@Packagecom.dc.config
*@date2025/1/1617:33
*@Description:主要用途:開啟在線接口文檔和添加相關配置
@Configuration
@EnableSwagger2
publicclassSwagger2ConfigextendsWebMvcConfigurerAdapter{
@Value("${swagger.enable}")
privateBooleanenable;
@Bean
publicDocketcreateRestApi(){
returnnewDocket(DocumentationType.SWAGGER_2)
.enable(enable)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.dc.controller"))
.paths(PathSelectors.any())
//.paths(PathSelectors.none())
.build();
privateApiInfoapiInfo(){
returnnewApiInfoBuilder()
.title("auth系統(tǒng)數據接口文檔")
.description("此系統(tǒng)為新架構Api說明文檔")
.termsOfServiceUrl("")
.contact(newContact("陳永佳chen867647213@163.com","","/Mrs_chens"))
.version("1.0")
.build();
*swaggerui資源映射
*@paramregistry
@Override
publicvoidaddResourceHandlers(ResourceHandlerRegistryregistry){
registry.addResourceHandler("swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
*swagger-ui.html路徑映射,瀏覽器中使用/api-docs訪問
*@paramregistry
@Override
publicvoidaddViewControllers(ViewControllerRegistryregistry){
registry.addRedirectViewController("/api-docs","/swagger-ui.html");
禁用方法2:
使用注解@Profile({“dev”,“test”})
表示在開發(fā)或測試環(huán)境開啟,而在生產關閉。(推薦使用)
packagecom.dc.config;
importorg.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
importorg.springframework.context.annotation.Bean;
importorg.springframework.context.annotation.Configuration;
importorg.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
importorg.springframework.web.servlet.config.annotation.ViewControllerRegistry;
importorg.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
importspringfox.documentation.builders.ApiInfoBuilder;
importspringfox.documentation.builders.PathSelectors;
importspringfox.documentation.builders.RequestHandlerSelectors;
importspringfox.documentation.service.ApiInfo;
importspringfox.documentation.service.Contact;
importspringfox.documentation.spi.DocumentationType;
importspringfox.documentation.spring.web.plugins.Docket;
importspringfox.documentation.swagger2.annotations.EnableSwagger2;
*@authorsunnychen
*@versionV1.0
*@Packagecom.dc.config
*@date2025/1/1617:33
*@Description:主要用途:開啟在線接口文檔和添加相關配置
@Configuration
@EnableSwagger2
@Profile({“dev”,“test”})
publicclassSwagger2ConfigextendsWebMvcConfigurerAdapter{
@Bean
publicDocketcreateRestApi(){
returnnewDocket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.dc.controller"))
.paths(PathSelectors.any())
//.paths(PathSelectors.none())
.build();
privateApiInfoapiInfo(){
returnnewApiInfoBuilder()
.title("auth系統(tǒng)數據接口文檔")
.description("此系統(tǒng)為新架構Api說明文檔")
.termsOfServiceUrl("")
.contact(newContact("陳永佳chen867647213@163.com","","/Mrs_chens"))
.version("1.0")
.build();
*swaggerui資源映射
*@paramregistry
@Override
publicvoidaddResourceHandlers(ResourceHandlerRegistryregistry){
registry.addResourceHandler("swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
*swagger-ui.html路徑映射,瀏覽器中使用/api-docs訪問
*@paramregistry
@Override
publicvoidaddViewControllers(ViewControllerRegistryregistry){
registry.addRedirectViewController("/api-docs","/swagger-ui.html");
}
禁用方法3:
使用注解@ConditionalOnProperty(name=“swagger.enable”,havingValue=“true”)
然后在測試配置或者開發(fā)配置中添加swagger.enable=true即可開啟,生產環(huán)境不填則默認關閉Swagger.
packagecom.dc.config;
importorg.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
importorg.springframework.context.annotation.Bean;
importorg.springframework.context.annotation.Configuration;
importorg.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
importorg.springframework.web.servlet.config.annotation.ViewControllerRegistry;
importorg.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
importspringfox.documentation.builders.ApiInfoBuilder;
importspringfox.documentation.builders.PathSelectors;
importspringfox.documentation.builders.RequestHandlerSelectors;
importspringfox.documentation.service.ApiInfo;
importspringfox.documentation.service.Contact;
importspringfox.documentation.spi.DocumentationType;
importspringfox.documentation.spring.web.plugins.Docket;
importspringfox.documentation.swagger2.annotations.EnableSwagger2;
*@authorsunnychen
*@versionV1.0
*@Packagecom.dc.config
*@date2025/1/1617:33
*@Description:主要用途:開啟在線接口文檔和添加相關配置
@Configuration
@EnableSwagger2
@ConditionalOnProperty(name="enabled",prefix="swagger",havingValue="true",matchIfMissing=true)
publicclassSwagger2ConfigextendsWebMvcConfigurerAdapter{
@Bean
publicDocketcreateRestApi(){
returnnewDocket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.dc.controller"))
.paths(PathSelectors.any())
//.paths(PathSelectors.none())
.build();
privateApiInfoapiInfo(){
returnnewApiInfoBuilder()
.title("auth系統(tǒng)數據接口文檔")
.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 外勤機械工安全生產意識競賽考核試卷含答案
- 成品礦運送工崗前基礎操作考核試卷含答案
- 信息通信網絡線務員安全意識測試考核試卷含答案
- 抽紗挑編工保密能力考核試卷含答案
- 2025年中原科技學院馬克思主義基本原理概論期末考試模擬題附答案
- 2024年灤縣輔警招聘考試真題匯編附答案
- 2024年重慶工程職業(yè)技術學院輔導員招聘備考題庫附答案
- 2024年鄭州信息科技職業(yè)學院輔導員考試筆試真題匯編附答案
- 企業(yè)信息化安全防護與應急處置實務操作手冊
- 2025四川省成都市公務員考試數量關系專項練習題及參考答案1套
- 中深度鎮(zhèn)靜紅外線全身熱療方法課件
- 第四單元地理信息技術的應用課件 【高效課堂+精研精講】高中地理魯教版(2019)必修第一冊
- 魯科版高中化學必修一教案全冊
- 管理養(yǎng)老機構 養(yǎng)老機構的服務提供與管理
- 提高隧道初支平整度合格率
- 2022年環(huán)保標記試題庫(含答案)
- 2023年版測量結果的計量溯源性要求
- 建筑能耗與碳排放研究報告
- GB 29415-2013耐火電纜槽盒
- 中國古代經濟試題
- 真空采血管的分類及應用及采血順序課件
評論
0/150
提交評論