你還在生產節點開放swagger嗎,趕緊停止這種暴露接口的行為吧。
學習目標
快速學會使用注解關閉swagger2,避免接口重復暴露。
使用教程
禁用方法1:使用注解@profile({"dev","test"})
表示在開發或測試環境開啟,而在生產關閉。(推薦使用)
禁用方法2:使用注解@conditionalonproperty(name = "swagger.enable", havingvalue = "true")
然后在測試配置或者開發配置中 添加 swagger.enable = true 即可開啟,生產環境不填則默認關閉swagger.
例如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
/** * 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( "標題:某公司_用戶信息管理系統_接口文檔" ) .description( "描述:用于管理集團旗下公司的人員信息,具體包括xxx,xxx模塊..." ) .contact( new contact( "socks" , null , null )) .version( "版本號:1.0" ) .build()) .select() .apis(requesthandlerselectors.basepackage( "com.hehe.controller" )) .paths(pathselectors.any()) .build(); } } |
訪問效果:
開發環境:http://localhost:8081/swagger-ui.html 正常訪問swagger。
生產環境:http://localhost:8082/swagger-ui.html 已經禁用swagger。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:https://www.jianshu.com/p/34c5180a5134