在生产环境下禁用swagger

Posted xiufengchen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在生产环境下禁用swagger相关的知识,希望对你有一定的参考价值。

学习目标

快速学会使用注解关闭Swagger2,避免接口重复暴露。

使用教程

禁用方法1:使用注解@Profile({"dev","test"}) 表示在开发或测试环境开启,而在生产关闭。(推荐使用)

禁用方法2:使用注解@ConditionalOnProperty(name = "swagger.enable", havingValue = "true")  然后在测试配置或者开发配置中 添加 swagger.enable = true 即可开启,生产环境不填则默认关闭Swagger.

@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();
}






















以上是关于在生产环境下禁用swagger的主要内容,如果未能解决你的问题,请参考以下文章

如何在生产环境禁用swagger

如何在nestjs中禁用swagger进行生产

在运行时启用/禁用 SwaggerUI

Spring Boot 禁用 Swagger 的三种方式

在禁用功能的情况下将代码运送到生产环境是不是存在风险?

重学Spring系列之Swagger2.0和Swagger3.0