不對外暴露介面
一般來說,介面給內部人員使用和測試的,不對生產環境暴露。此時應該如何設定呢?可以在Swagger配置檔案中新增註解:
@Profile({"環境名稱1","環境名稱2"} 或@Profile("環境名稱")
這裡,註解中不新增生產環境。
此時,開發環境和測試環境都可檢視。理論上,應該不可檢視到api,但我看到了未設定分組的所有介面o(╥﹏╥)。可能swagger2和swagger3方法不同。
這裡,我在生產環境的配置檔案(application-prod.yml)檔案設定了swagger-ui不顯示
# 不顯示swagger-ui
springfox:
documentation:
swagger-ui:
enabled: false
此時,我們的生產環境成功遮蔽了swagger。
修改預設Swagger地址
預設的Swagger地址為 {url:port}/swagger-ui/index.html 。
Swagger2:配置檔案新增 server.contextPath=/swagger2,此時Swagger的地址為:{url:port}/swagger2/swagger-ui/index.html
Swagger3: 配置檔案(application.yml)新增地址
springfox: documentation: swagger-ui: base-url: /swagger-ui.html
此時,Swagger的訪問地址為:{url:port}/swagger-ui/index.html