如何在生产中关闭 swagger-ui

2022-01-22 00:00:00 swagger swagger-ui spring java spring-boot

我已经大摇大摆地插入了我的 Spring Boot 应用程序.Spring boot 允许您拥有每个环境的属性文件.有没有办法在生产环境中禁用 swagger?

I have swagger plugged in to my spring boot application. Spring boot allows you to have property files for each environment that you have. Is there a way to disable swagger for a production environment?

推荐答案

将你的 swagger 配置放到单独的配置类中,并用 @Profile 注释进行注释 -> 以便将其扫描到 Spring 上下文中仅在某些配置文件中.

Put your swagger configuration into separate configuration class and annotate it with @Profile annotation -> so that it will be scanned into Spring context only in certain profiles.

例子:

@Configuration
@EnableSwagger2
@Profile("dev")
public class SwaggerConfig {
    // your swagger configuration
}

您可以通过命令行定义您的 Spring Boot 应用程序正在运行的配置文件:--spring.profiles.active=dev 或通过配置文件:spring.profiles.active=dev.

You can than define profile your Spring Boot app is operating in via command line: --spring.profiles.active=dev or via config file: spring.profiles.active=dev.

阅读本节 Spring Boot有关 @Profile

相关文章