楔子
Swagger
是 Java Web 開發中常用的接口文檔生成類庫,在開發和前后端聯調時使用它來模擬接口調用能提高開發效率。但是,在生產環境可能並不需要它,一個原因是啟用它會延長程序啟動時間(動態解析代碼中的注解來生成文檔),另一個是安全問題(過不了漏洞掃描,需要鑒權訪問或禁用掉)
本文的目標就是禁用掉 Swagger
,由於配置比較簡單,筆者在本地已經實踐通過了,直接記錄在這里了。
筆者測試版本基於 SpringBoot 2.4.6 +
io.springfox:springfox-swagger2:3.0.0
禁用方法
yaml 配置方式:
springfox:
documentation:
enabled: false
properties 配置方式:
springfox.documentation.enabled=false
最佳實踐
說是最佳實踐,其實是相對而言的。即通過SpringBoot的 配置覆蓋/多環境配置文件
來實現。
配置文件覆蓋
在默認的配置文件 application.{yaml|properties} 中添加禁用配置,然后在具體環境配置文件中覆蓋它。
比如,開發測試環境有個 application-dev.properties,在這個配置文件里可以設置開啟
springfox.documentation.enabled=true
生產環境什么也不配置,走默認 application.properties(含禁用配置) 即禁用Swagger。
多環境配置文件
比如開發測試配置文件是 application-dev.properties
,生產配置文件是 application-prod.properties
,就可以只在 application-prod.properties
中添加禁用配置。
以上兩種方式都可以,看大家想使用哪種了。
本文同步於本人博客園(hellxz.cnblogs.com) 與 CSDN(https://blog.csdn.net/u012586326),禁止轉載。