SpringBoot在生產(chǎn)快速禁用Swagger2的方法步驟
你還在生產(chǎn)節(jié)點(diǎn)開(kāi)放Swagger嗎,趕緊停止這種暴露接口的行為吧。
學(xué)習(xí)目標(biāo)
快速學(xué)會(huì)使用注解關(guān)閉Swagger2,避免接口重復(fù)暴露。
使用教程
禁用方法1:使用注解@Profile({"dev","test"}) 表示在開(kāi)發(fā)或測(cè)試環(huán)境開(kāi)啟,而在生產(chǎn)關(guān)閉。(推薦使用)
禁用方法2:使用注解@ConditionalOnProperty(name = "swagger.enable", havingValue = "true") 然后在測(cè)試配置或者開(kāi)發(fā)配置中 添加 swagger.enable = true 即可開(kāi)啟,生產(chǎn)環(huán)境不填則默認(rèn)關(guān)閉Swagger.
例如:
/**
* Swagger2 接口配置
*/
@Configuration
@EnableSwagger2
//@Profile({"dev","test"})
@ConditionalOnProperty(name = "swagger.enable", havingValue = "true")
public class Swagger2Config {
/**
* 添加摘要信息(Docket)
*/
@Bean
public Docket controllerApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(new ApiInfoBuilder()
.title("標(biāo)題:某公司_用戶信息管理系統(tǒng)_接口文檔")
.description("描述:用于管理集團(tuán)旗下公司的人員信息,具體包括XXX,XXX模塊...")
.contact(new Contact("Socks", null, null))
.version("版本號(hào):1.0")
.build())
.select()
.apis(RequestHandlerSelectors.basePackage("com.hehe.controller"))
.paths(PathSelectors.any())
.build();
}
}

訪問(wèn)效果:
開(kāi)發(fā)環(huán)境:http://localhost:8081/swagger-ui.html 正常訪問(wèn)Swagger。

生產(chǎn)環(huán)境:http://localhost:8082/swagger-ui.html 已經(jīng)禁用Swagger。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java實(shí)現(xiàn)EasyCaptcha圖形驗(yàn)證碼的具體使用
Java圖形驗(yàn)證碼,支持gif、中文、算術(shù)等類型,可用于Java Web、JavaSE等項(xiàng)目,下面就跟隨小編一起來(lái)了解一下2021-08-08
java使用jdbc連接數(shù)據(jù)庫(kù)簡(jiǎn)單實(shí)例
這篇文章主要為大家詳細(xì)介紹了java使用jdbc連接數(shù)據(jù)庫(kù)的簡(jiǎn)單實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07
Maven中dependency和plugins的繼承與約束
這篇文章主要介紹了Maven中dependency和plugins的繼承與約束,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
使用concurrentHashMap如何實(shí)現(xiàn)緩存
文章介紹了使用ConcurrentHashMap實(shí)現(xiàn)緩存的線程安全性和初始化方法,以及如何處理高并發(fā)場(chǎng)景下的緩存清理和數(shù)據(jù)一致性問(wèn)題,包括分桶、使用ConcurrentLinkedQueue以及使用CountDownLatch來(lái)確保緩存數(shù)據(jù)的不丟失2025-02-02

